* mbereg_search_getpos() -> mb_ereg_search_getpos()
* mbereg_search_setpos() -> mb_ereg_search_setpos()
+- SPL:
+ . SplFileObject::fgetss() has been removed.
+
- Standard:
. assert() will no longer evaluate string arguments, instead they will be
treated like any other argument. assert($a == $b) should be used instead of
ASSERT_QUIET_EVAL constants have also been removed, as they would no longer
have any effect.
. parse_str() can no longer be used without specifying a result array.
+ . fgetss() has been removed.
+ . The string.strip_tags filter has been removed.
+
+- Zlib:
+ . gzgetss() has been removed.
========================================
2. New Features
F0("feof", MAY_BE_FALSE | MAY_BE_TRUE),
F1("fgetc", MAY_BE_FALSE | MAY_BE_STRING),
F1("fgets", MAY_BE_FALSE | MAY_BE_STRING),
- F1("fgetss", MAY_BE_FALSE | MAY_BE_STRING),
F1("fread", MAY_BE_FALSE | MAY_BE_STRING),
F1("fopen", MAY_BE_FALSE | MAY_BE_RESOURCE),
F0("fpassthru", MAY_BE_FALSE | MAY_BE_LONG),
F0("gzeof", MAY_BE_FALSE | MAY_BE_TRUE),
F1("gzgetc", MAY_BE_FALSE | MAY_BE_STRING),
F1("gzgets", MAY_BE_FALSE | MAY_BE_STRING),
- F1("gzgetss", MAY_BE_FALSE | MAY_BE_STRING),
F1("gzread", MAY_BE_FALSE | MAY_BE_STRING),
F1("gzopen", MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_RESOURCE),
F0("gzpassthru", MAY_BE_FALSE | MAY_BE_LONG),
}
} /* }}} */
-/* {{{ proto string SplFileObject::fgetss([string allowable_tags])
- Get a line from file pointer and strip HTML tags */
-SPL_METHOD(SplFileObject, fgetss)
-{
- spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS);
- zval arg2;
-
- if(!intern->u.file.stream) {
- zend_throw_exception_ex(spl_ce_RuntimeException, 0, "Object not initialized");
- return;
- }
-
- if (intern->u.file.max_line_len > 0) {
- ZVAL_LONG(&arg2, intern->u.file.max_line_len);
- } else {
- ZVAL_LONG(&arg2, 1024);
- }
-
- spl_filesystem_file_free_line(intern);
- intern->u.file.current_line_num++;
-
- FileFunctionCall(fgetss, ZEND_NUM_ARGS(), &arg2);
-} /* }}} */
-
/* {{{ proto int SplFileObject::fpassthru()
Output all remaining data from a file pointer */
SPL_METHOD(SplFileObject, fpassthru)
ZEND_ARG_INFO(0, whence)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_file_object_fgetss, 0, 0, 0)
- ZEND_ARG_INFO(0, allowable_tags)
-ZEND_END_ARG_INFO()
-
ZEND_BEGIN_ARG_INFO_EX(arginfo_file_object_fscanf, 0, 0, 1)
ZEND_ARG_INFO(0, format)
ZEND_ARG_VARIADIC_INFO(1, vars)
SPL_ME(SplFileObject, fseek, arginfo_file_object_fseek, ZEND_ACC_PUBLIC)
SPL_ME(SplFileObject, fgetc, arginfo_splfileinfo_void, ZEND_ACC_PUBLIC)
SPL_ME(SplFileObject, fpassthru, arginfo_splfileinfo_void, ZEND_ACC_PUBLIC)
- SPL_ME(SplFileObject, fgetss, arginfo_file_object_fgetss, ZEND_ACC_PUBLIC)
SPL_ME(SplFileObject, fscanf, arginfo_file_object_fscanf, ZEND_ACC_PUBLIC)
SPL_ME(SplFileObject, fwrite, arginfo_file_object_fwrite, ZEND_ACC_PUBLIC)
SPL_ME(SplFileObject, fread, arginfo_file_object_fread, ZEND_ACC_PUBLIC)
+++ /dev/null
---TEST--
-SPL: SplFileObject::fgetss (bug 45216)
---CREDITS--
-Perrick Penet <perrick@noparking.net>
-#testfest phpcampparis 2008-06-07
---FILE--
-<?php
-$file = dirname(__FILE__) . '/foo.html';
-file_put_contents($file, 'text 0<div class="tested">text 1</div>');
-$handle = fopen($file, 'r');
-
-$object = new SplFileObject($file);
-var_dump($object->fgetss());
-var_dump(fgetss($handle));
-?>
---CLEAN--
-<?php
-unlink(dirname(__FILE__) . '/foo.html');
-?>
---EXPECTF--
-Deprecated: Function fgetss() is deprecated in %s on line %d
-string(12) "text 0text 1"
-
-Deprecated: Function fgetss() is deprecated in %s on line %d
-string(12) "text 0text 1"
ZEND_ARG_INFO(0, fp)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_fgetss, 0, 0, 1)
- ZEND_ARG_INFO(0, fp)
- ZEND_ARG_INFO(0, length)
- ZEND_ARG_INFO(0, allowable_tags)
-ZEND_END_ARG_INFO()
-
ZEND_BEGIN_ARG_INFO_EX(arginfo_fscanf, 0, 0, 2)
ZEND_ARG_INFO(0, stream)
ZEND_ARG_INFO(0, format)
PHP_FE(feof, arginfo_feof)
PHP_FE(fgetc, arginfo_fgetc)
PHP_FE(fgets, arginfo_fgets)
- PHP_DEP_FE(fgetss, arginfo_fgetss)
PHP_FE(fread, arginfo_fread)
PHP_NAMED_FE(fopen, php_if_fopen, arginfo_fopen)
PHP_FE(fpassthru, arginfo_fpassthru)
}
/* }}} */
-/* {{{ proto string fgetss(resource fp [, int length [, string allowable_tags]])
- Get a line from file pointer and strip HTML tags */
-PHPAPI PHP_FUNCTION(fgetss)
-{
- zval *fd;
- zend_long bytes = 0;
- size_t len = 0;
- size_t actual_len, retval_len;
- char *buf = NULL, *retval;
- php_stream *stream;
- char *allowed_tags=NULL;
- size_t allowed_tags_len=0;
-
- ZEND_PARSE_PARAMETERS_START(1, 3)
- Z_PARAM_RESOURCE(fd)
- Z_PARAM_OPTIONAL
- Z_PARAM_LONG(bytes)
- Z_PARAM_STRING(allowed_tags, allowed_tags_len)
- ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE);
-
- PHP_STREAM_TO_ZVAL(stream, fd);
-
- if (ZEND_NUM_ARGS() >= 2) {
- if (bytes <= 0) {
- php_error_docref(NULL, E_WARNING, "Length parameter must be greater than 0");
- RETURN_FALSE;
- }
-
- len = (size_t) bytes;
- buf = safe_emalloc(sizeof(char), (len + 1), 0);
- /*needed because recv doesn't set null char at end*/
- memset(buf, 0, len + 1);
- }
-
- if ((retval = php_stream_get_line(stream, buf, len, &actual_len)) == NULL) {
- if (buf != NULL) {
- efree(buf);
- }
- RETURN_FALSE;
- }
-
- retval_len = php_strip_tags(retval, actual_len, &stream->fgetss_state, allowed_tags, allowed_tags_len);
-
- // TODO: avoid reallocation ???
- RETVAL_STRINGL(retval, retval_len);
- efree(retval);
-}
-/* }}} */
-
/* {{{ proto mixed fscanf(resource stream, string format [, string ...])
Implements a mostly ANSI compatible fscanf() */
PHP_FUNCTION(fscanf)
char enclosure = '"'; /* allow this to be set as parameter */
int escape = (unsigned char) '\\';
- /* first section exactly as php_fgetss */
-
zend_long len = 0;
size_t buf_len;
char *buf;
PHPAPI PHP_FUNCTION(fgetc);
PHPAPI PHP_FUNCTION(fgets);
PHP_FUNCTION(fscanf);
-PHPAPI PHP_FUNCTION(fgetss);
PHP_FUNCTION(fgetcsv);
PHP_FUNCTION(fputcsv);
PHPAPI PHP_FUNCTION(fwrite);
};
/* }}} */
-/* {{{ strip_tags filter implementation */
-typedef struct _php_strip_tags_filter {
- const char *allowed_tags;
- int allowed_tags_len;
- uint8_t state;
- uint8_t persistent;
-} php_strip_tags_filter;
-
-static int php_strip_tags_filter_ctor(php_strip_tags_filter *inst, zend_string *allowed_tags, int persistent)
-{
- if (allowed_tags != NULL) {
- if (NULL == (inst->allowed_tags = pemalloc(ZSTR_LEN(allowed_tags) + 1, persistent))) {
- return FAILURE;
- }
- memcpy((char *)inst->allowed_tags, ZSTR_VAL(allowed_tags), ZSTR_LEN(allowed_tags) + 1);
- inst->allowed_tags_len = (int)ZSTR_LEN(allowed_tags);
- } else {
- inst->allowed_tags = NULL;
- }
- inst->state = 0;
- inst->persistent = persistent;
-
- return SUCCESS;
-}
-
-static void php_strip_tags_filter_dtor(php_strip_tags_filter *inst)
-{
- if (inst->allowed_tags != NULL) {
- pefree((void *)inst->allowed_tags, inst->persistent);
- }
-}
-
-static php_stream_filter_status_t strfilter_strip_tags_filter(
- php_stream *stream,
- php_stream_filter *thisfilter,
- php_stream_bucket_brigade *buckets_in,
- php_stream_bucket_brigade *buckets_out,
- size_t *bytes_consumed,
- int flags
- )
-{
- php_stream_bucket *bucket;
- size_t consumed = 0;
- php_strip_tags_filter *inst = (php_strip_tags_filter *) Z_PTR(thisfilter->abstract);
-
- while (buckets_in->head) {
- bucket = php_stream_bucket_make_writeable(buckets_in->head);
- consumed = bucket->buflen;
-
- bucket->buflen = php_strip_tags(bucket->buf, bucket->buflen, &(inst->state), inst->allowed_tags, inst->allowed_tags_len);
-
- php_stream_bucket_append(buckets_out, bucket);
- }
-
- if (bytes_consumed) {
- *bytes_consumed = consumed;
- }
-
- return PSFS_PASS_ON;
-}
-
-static void strfilter_strip_tags_dtor(php_stream_filter *thisfilter)
-{
- assert(Z_PTR(thisfilter->abstract) != NULL);
-
- php_strip_tags_filter_dtor((php_strip_tags_filter *)Z_PTR(thisfilter->abstract));
-
- pefree(Z_PTR(thisfilter->abstract), ((php_strip_tags_filter *)Z_PTR(thisfilter->abstract))->persistent);
-}
-
-static const php_stream_filter_ops strfilter_strip_tags_ops = {
- strfilter_strip_tags_filter,
- strfilter_strip_tags_dtor,
- "string.strip_tags"
-};
-
-static php_stream_filter *strfilter_strip_tags_create(const char *filtername, zval *filterparams, uint8_t persistent)
-{
- php_strip_tags_filter *inst;
- php_stream_filter *filter = NULL;
- zend_string *allowed_tags = NULL;
-
- php_error_docref(NULL, E_DEPRECATED, "The string.strip_tags filter is deprecated");
-
- inst = pemalloc(sizeof(php_strip_tags_filter), persistent);
-
- if (filterparams != NULL) {
- if (Z_TYPE_P(filterparams) == IS_ARRAY) {
- smart_str tags_ss = {0};
- zval *tmp;
-
- ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(filterparams), tmp) {
- convert_to_string_ex(tmp);
- smart_str_appendc(&tags_ss, '<');
- smart_str_append(&tags_ss, Z_STR_P(tmp));
- smart_str_appendc(&tags_ss, '>');
- } ZEND_HASH_FOREACH_END();
- smart_str_0(&tags_ss);
- allowed_tags = tags_ss.s;
- } else {
- allowed_tags = zval_get_string(filterparams);
- }
- }
-
- if (php_strip_tags_filter_ctor(inst, allowed_tags, persistent) == SUCCESS) {
- filter = php_stream_filter_alloc(&strfilter_strip_tags_ops, inst, persistent);
- } else {
- pefree(inst, persistent);
- }
-
- if (allowed_tags) {
- zend_string_release(allowed_tags);
- }
-
- return filter;
-}
-
-static const php_stream_filter_factory strfilter_strip_tags_factory = {
- strfilter_strip_tags_create
-};
-
-/* }}} */
-
/* {{{ base64 / quoted_printable stream filter implementation */
typedef enum _php_conv_err_t {
{ &strfilter_rot13_ops, &strfilter_rot13_factory },
{ &strfilter_toupper_ops, &strfilter_toupper_factory },
{ &strfilter_tolower_ops, &strfilter_tolower_factory },
- { &strfilter_strip_tags_ops, &strfilter_strip_tags_factory },
{ &strfilter_convert_ops, &strfilter_convert_factory },
{ &consumed_filter_ops, &consumed_filter_factory },
{ &chunked_filter_ops, &chunked_filter_factory },
+++ /dev/null
---TEST--
-fgetss() tests
---FILE--
-<?php
-
-$filename = dirname(__FILE__)."/fgetss.html";
-
-$array = array(
- "askasdfasdf<b>aaaaaa\n</b>dddddd",
- "asdqw<i onClick=\"hello();\">\naaaa<>qqqq",
- "aaa<script>function foo() {}</script>qqq",
- "asdasd<a\n asdjeje",
- "",
- "some text \n<b>blah</i>",
- "some another text <> hoho </>"
- );
-
-foreach ($array as $str) {
- file_put_contents($filename, $str);
- $fp = fopen($filename, "r");
- var_dump(fgetss($fp));
- var_dump(fgetss($fp));
-}
-
-foreach ($array as $str) {
- file_put_contents($filename, $str);
- $fp = fopen($filename, "r");
- var_dump(fgetss($fp, 10));
- var_dump(fgetss($fp, 10));
-}
-
-var_dump(fgetss($fp, -10));
-var_dump(fgetss($fp, 0));
-fclose($fp);
-var_dump(fgetss($fp, 0));
-
-@unlink($filename);
-
-echo "Done\n";
-?>
---EXPECTF--
-Deprecated: Function fgetss() is deprecated in %s on line %d
-string(18) "askasdfasdfaaaaaa
-"
-
-Deprecated: Function fgetss() is deprecated in %s on line %d
-string(6) "dddddd"
-
-Deprecated: Function fgetss() is deprecated in %s on line %d
-string(6) "asdqw
-"
-
-Deprecated: Function fgetss() is deprecated in %s on line %d
-string(8) "aaaaqqqq"
-
-Deprecated: Function fgetss() is deprecated in %s on line %d
-string(23) "aaafunction foo() {}qqq"
-
-Deprecated: Function fgetss() is deprecated in %s on line %d
-bool(false)
-
-Deprecated: Function fgetss() is deprecated in %s on line %d
-string(6) "asdasd"
-
-Deprecated: Function fgetss() is deprecated in %s on line %d
-string(0) ""
-
-Deprecated: Function fgetss() is deprecated in %s on line %d
-bool(false)
-
-Deprecated: Function fgetss() is deprecated in %s on line %d
-bool(false)
-
-Deprecated: Function fgetss() is deprecated in %s on line %d
-string(11) "some text
-"
-
-Deprecated: Function fgetss() is deprecated in %s on line %d
-string(4) "blah"
-
-Deprecated: Function fgetss() is deprecated in %s on line %d
-string(24) "some another text hoho "
-
-Deprecated: Function fgetss() is deprecated in %s on line %d
-bool(false)
-
-Deprecated: Function fgetss() is deprecated in %s on line %d
-string(9) "askasdfas"
-
-Deprecated: Function fgetss() is deprecated in %s on line %d
-string(6) "dfaaaa"
-
-Deprecated: Function fgetss() is deprecated in %s on line %d
-string(5) "asdqw"
-
-Deprecated: Function fgetss() is deprecated in %s on line %d
-string(0) ""
-
-Deprecated: Function fgetss() is deprecated in %s on line %d
-string(3) "aaa"
-
-Deprecated: Function fgetss() is deprecated in %s on line %d
-string(7) "functio"
-
-Deprecated: Function fgetss() is deprecated in %s on line %d
-string(6) "asdasd"
-
-Deprecated: Function fgetss() is deprecated in %s on line %d
-string(0) ""
-
-Deprecated: Function fgetss() is deprecated in %s on line %d
-bool(false)
-
-Deprecated: Function fgetss() is deprecated in %s on line %d
-bool(false)
-
-Deprecated: Function fgetss() is deprecated in %s on line %d
-string(9) "some text"
-
-Deprecated: Function fgetss() is deprecated in %s on line %d
-string(2) "
-"
-
-Deprecated: Function fgetss() is deprecated in %s on line %d
-string(9) "some anot"
-
-Deprecated: Function fgetss() is deprecated in %s on line %d
-string(9) "her text "
-
-Deprecated: Function fgetss() is deprecated in %s on line %d
-
-Warning: fgetss(): Length parameter must be greater than 0 in %s on line %d
-bool(false)
-
-Deprecated: Function fgetss() is deprecated in %s on line %d
-
-Warning: fgetss(): Length parameter must be greater than 0 in %s on line %d
-bool(false)
-
-Deprecated: Function fgetss() is deprecated in %s on line %d
-
-Warning: fgetss(): supplied resource is not a valid stream resource in %s on line %d
-bool(false)
-Done
+++ /dev/null
---TEST--
-more fgetss() tests
---FILE--
-<?php
-error_reporting(E_ALL & ~E_DEPRECATED);
-
-$filename = dirname(__FILE__)."/fgetss1.html";
-
-$array = array(
- "askasdfasdf<b>aaaaaa\n</b>dddddd",
- "asdqw<i onClick=\"hello();\">\naaaa<>qqqq",
- "aaa<script>function foo() {}</script>qqq",
- "asdasd<a\n asdjeje",
- "",
- "some text \n<b>blah</i>",
- "some another text <> hoho </>"
- );
-
-foreach ($array as $str) {
- file_put_contents($filename, $str);
- $fp = fopen($filename, "r");
- var_dump(fgetss($fp, 1000, "<i>,<b>,<a>"));
- var_dump(fgetss($fp));
-}
-
-foreach ($array as $str) {
- file_put_contents($filename, $str);
- $fp = fopen($filename, "r");
- var_dump(fgetss($fp, 10));
- var_dump(fgetss($fp, 10, "<script>,<a>"));
-}
-
-echo "Done\n";
-?>
---CLEAN--
-<?php
-$filename = dirname(__FILE__)."/fgetss1.html";
-unlink($filename);
-?>
---EXPECT--
-string(21) "askasdfasdf<b>aaaaaa
-"
-string(6) "dddddd"
-string(28) "asdqw<i onClick="hello();">
-"
-string(8) "aaaaqqqq"
-string(23) "aaafunction foo() {}qqq"
-bool(false)
-string(6) "asdasd"
-string(0) ""
-bool(false)
-bool(false)
-string(11) "some text
-"
-string(4) "blah"
-string(24) "some another text hoho "
-bool(false)
-string(9) "askasdfas"
-string(6) "dfaaaa"
-string(5) "asdqw"
-string(0) ""
-string(3) "aaa"
-string(9) "t>functio"
-string(6) "asdasd"
-string(0) ""
-bool(false)
-bool(false)
-string(9) "some text"
-string(2) "
-"
-string(9) "some anot"
-string(9) "her text "
-Done
+++ /dev/null
---TEST--
-Test fgetss() function : Basic functionality - read modes only
---FILE--
-<?php
-error_reporting(E_ALL & ~E_DEPRECATED);
-
-/*
- Prototype: string fgetss ( resource $handle [, int $length [, string $allowable_tags]] );
- Description: Gets line from file pointer and strip HTML tags
-*/
-
-/* test fgetss with all read modes */
-
-// include the common file related test functions
-include ("file.inc");
-
-echo "*** Testing fgetss() : Basic operations ***\n";
-
-/* string with html and php tags */
-$string_with_tags = <<<EOT
-<test>Testing fgetss() functions</test>
-<?php echo "this string is within php tag"; ?> {;}<{> this
-is a heredoc string. <pg>ksklnm@@$$&$&^%&^%&^%&</pg>
-<html> html </html> <?php echo "php"; ?>
-EOT;
-
-if(substr(PHP_OS, 0, 3) == "WIN") {
- $string_with_tags = str_replace("\r",'', $string_with_tags);
-}
-/* try reading the file opened in different modes of reading */
-$file_modes = array("r","rb", "rt","r+", "r+b", "r+t");
-
-for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) {
- echo "\n-- Testing fgetss() with file opened using $file_modes[$mode_counter] mode --\n";
-
- /* create an empty file and write the strings with tags */
- $filename = dirname(__FILE__)."/fgetss_basic1.tmp";
- create_file ($filename); //create an empty file
- file_put_contents($filename, $string_with_tags);
- $file_handle = fopen($filename, $file_modes[$mode_counter]);
- if(!$file_handle) {
- echo "Error: failed to open file $filename!\n";
- exit();
- }
-
- rewind($file_handle);
- /* read entire file and strip tags */
- echo "-- fgetss() with default length, file pointer at 0 --\n";
- var_dump( fgetss($file_handle) ); // no length and allowable tags provided, reads entire file
- var_dump( ftell($file_handle) );
- var_dump( feof($file_handle) );
-
- rewind($file_handle);
- /* read entire file and strip tags tags */
- echo "-- fgets() with length = 30, file pointer at 0 --\n";
- var_dump( fgetss($file_handle ,30) ); // length parameter given,not reading entire file
- var_dump( ftell($file_handle) ); // checking file pointer position initially
- var_dump( feof($file_handle) ); // confirm file pointer is not at eof
-
- // close the file
- fclose($file_handle);
-
- // delete the file
- delete_file($filename);
-} // end of for - mode_counter
-
-echo "Done\n";
-?>
---EXPECT--
-*** Testing fgetss() : Basic operations ***
-
--- Testing fgetss() with file opened using r mode --
--- fgetss() with default length, file pointer at 0 --
-string(27) "Testing fgetss() functions
-"
-int(40)
-bool(false)
--- fgets() with length = 30, file pointer at 0 --
-string(23) "Testing fgetss() functi"
-int(29)
-bool(false)
-
--- Testing fgetss() with file opened using rb mode --
--- fgetss() with default length, file pointer at 0 --
-string(27) "Testing fgetss() functions
-"
-int(40)
-bool(false)
--- fgets() with length = 30, file pointer at 0 --
-string(23) "Testing fgetss() functi"
-int(29)
-bool(false)
-
--- Testing fgetss() with file opened using rt mode --
--- fgetss() with default length, file pointer at 0 --
-string(27) "Testing fgetss() functions
-"
-int(40)
-bool(false)
--- fgets() with length = 30, file pointer at 0 --
-string(23) "Testing fgetss() functi"
-int(29)
-bool(false)
-
--- Testing fgetss() with file opened using r+ mode --
--- fgetss() with default length, file pointer at 0 --
-string(27) "Testing fgetss() functions
-"
-int(40)
-bool(false)
--- fgets() with length = 30, file pointer at 0 --
-string(23) "Testing fgetss() functi"
-int(29)
-bool(false)
-
--- Testing fgetss() with file opened using r+b mode --
--- fgetss() with default length, file pointer at 0 --
-string(27) "Testing fgetss() functions
-"
-int(40)
-bool(false)
--- fgets() with length = 30, file pointer at 0 --
-string(23) "Testing fgetss() functi"
-int(29)
-bool(false)
-
--- Testing fgetss() with file opened using r+t mode --
--- fgetss() with default length, file pointer at 0 --
-string(27) "Testing fgetss() functions
-"
-int(40)
-bool(false)
--- fgets() with length = 30, file pointer at 0 --
-string(23) "Testing fgetss() functi"
-int(29)
-bool(false)
-Done
+++ /dev/null
---TEST--
-Test fgetss() function : Basic functionality - read/write modes
---SKIPIF--
-<?php
-if (substr(PHP_OS, 0, 3) != 'WIN') {
- die('skip.. only on Windows');
-}
-?>
---FILE--
-<?php
-error_reporting(E_ALL & ~E_DEPRECATED);
-
-/*
- Prototype: string fgetss ( resource $handle [, int $length [, string $allowable_tags]] );
- Description: Gets line from file pointer and strip HTML tags
-*/
-
-/* try fgetss on files which are opened in read/write modes
- w+, w+b, w+t,
- a+, a+b, a+t,
- x+, x+b, x+t
-*/
-
-
-echo "*** Testing fgetss() : basic operations ***\n";
-
-/* string with html and php tags */
-$string_with_tags = <<<EOT
-<test>Testing fgetss() functions</test>
-<?php echo "this string is within php tag"; ?> {;}<{> this
-is a heredoc string. <pg>ksklnm@@$$&$&^%&^%&^%&</pg>
-<html> html </html> <?php echo "php"; ?>
-EOT;
-if(substr(PHP_OS, 0, 3) == "WIN") {
- $string_with_tags = str_replace("\r",'', $string_with_tags);
-}
-$filename = dirname(__FILE__)."/fgetss_basic2私はガラスを食べられます.tmp";
-
-/* try reading the file opened in different modes of reading */
-$file_modes = array("w+","w+b", "w+t","a+", "a+b", "a+t","x+","x+b","x+t");
-
-for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) {
- echo "\n-- Testing fgetss() with file opened using $file_modes[$mode_counter] mode --\n";
-
- /* create an empty file and write the strings with tags */
- $file_handle = fopen($filename, $file_modes[$mode_counter]);
- fwrite($file_handle,$string_with_tags); //writing data to the file
- if(!$file_handle) {
- echo "Error: failed to open file $filename!\n";
- exit();
- }
-
- // rewind the file pointer to beginning of the file
- var_dump( filesize($filename) );
- var_dump( rewind($file_handle) );
- var_dump( ftell($file_handle) );
- var_dump( feof($file_handle) );
-
- /* read entire file and strip tags */
- echo "-- fgetss() with default length, file pointer at 0 --\n";
- var_dump( fgetss($file_handle) ); // no length and allowable tags provided, reads entire file
- var_dump( ftell($file_handle) );
- var_dump( feof($file_handle) );
-
- rewind($file_handle);
- /* read entire file and strip tags tags */
- echo "-- fgets() with length = 30, file pointer at 0 --\n";
- var_dump( fgetss($file_handle ,30) ); // length parameter given,not reading entire file
- var_dump( ftell($file_handle) ); // checking file pointer position initially
- var_dump( feof($file_handle) ); // confirm file pointer is not at eof
-
- // close the file
- fclose($file_handle);
-
- // delete the file
- unlink($filename);
-} // end of for - mode_counter
-
-echo "Done\n";
-?>
---EXPECT--
-*** Testing fgetss() : basic operations ***
-
--- Testing fgetss() with file opened using w+ mode --
-int(192)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 --
-string(27) "Testing fgetss() functions
-"
-int(40)
-bool(false)
--- fgets() with length = 30, file pointer at 0 --
-string(23) "Testing fgetss() functi"
-int(29)
-bool(false)
-
--- Testing fgetss() with file opened using w+b mode --
-int(192)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 --
-string(27) "Testing fgetss() functions
-"
-int(40)
-bool(false)
--- fgets() with length = 30, file pointer at 0 --
-string(23) "Testing fgetss() functi"
-int(29)
-bool(false)
-
--- Testing fgetss() with file opened using w+t mode --
-int(195)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 --
-string(27) "Testing fgetss() functions
-"
-int(40)
-bool(false)
--- fgets() with length = 30, file pointer at 0 --
-string(23) "Testing fgetss() functi"
-int(29)
-bool(false)
-
--- Testing fgetss() with file opened using a+ mode --
-int(192)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 --
-string(27) "Testing fgetss() functions
-"
-int(40)
-bool(false)
--- fgets() with length = 30, file pointer at 0 --
-string(23) "Testing fgetss() functi"
-int(29)
-bool(false)
-
--- Testing fgetss() with file opened using a+b mode --
-int(192)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 --
-string(27) "Testing fgetss() functions
-"
-int(40)
-bool(false)
--- fgets() with length = 30, file pointer at 0 --
-string(23) "Testing fgetss() functi"
-int(29)
-bool(false)
-
--- Testing fgetss() with file opened using a+t mode --
-int(195)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 --
-string(27) "Testing fgetss() functions
-"
-int(40)
-bool(false)
--- fgets() with length = 30, file pointer at 0 --
-string(23) "Testing fgetss() functi"
-int(29)
-bool(false)
-
--- Testing fgetss() with file opened using x+ mode --
-int(192)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 --
-string(27) "Testing fgetss() functions
-"
-int(40)
-bool(false)
--- fgets() with length = 30, file pointer at 0 --
-string(23) "Testing fgetss() functi"
-int(29)
-bool(false)
-
--- Testing fgetss() with file opened using x+b mode --
-int(192)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 --
-string(27) "Testing fgetss() functions
-"
-int(40)
-bool(false)
--- fgets() with length = 30, file pointer at 0 --
-string(23) "Testing fgetss() functi"
-int(29)
-bool(false)
-
--- Testing fgetss() with file opened using x+t mode --
-int(195)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 --
-string(27) "Testing fgetss() functions
-"
-int(40)
-bool(false)
--- fgets() with length = 30, file pointer at 0 --
-string(23) "Testing fgetss() functi"
-int(29)
-bool(false)
-Done
+++ /dev/null
---TEST--
-Test fgetss() function : Basic functionality - read/write modes
---SKIPIF--
-<?php
-if (substr(PHP_OS, 0, 3) != 'WIN') {
- die('skip.. only on Windows');
-}
-?>
---FILE--
-<?php
-error_reporting(E_ALL & ~E_DEPRECATED);
-
-/*
- Prototype: string fgetss ( resource $handle [, int $length [, string $allowable_tags]] );
- Description: Gets line from file pointer and strip HTML tags
-*/
-
-/* try fgetss on files which are opened in read/write modes
- w+, w+b, w+t,
- a+, a+b, a+t,
- x+, x+b, x+t
-*/
-
-
-echo "*** Testing fgetss() : basic operations ***\n";
-
-/* string with html and php tags */
-$string_with_tags = <<<EOT
-<test>Testing fgetss() functions</test>
-<?php echo "this string is within php tag"; ?> {;}<{> this
-is a heredoc string. <pg>ksklnm@@$$&$&^%&^%&^%&</pg>
-<html> html </html> <?php echo "php"; ?>
-EOT;
-if(substr(PHP_OS, 0, 3) == "WIN") {
- $string_with_tags = str_replace("\r",'', $string_with_tags);
-}
-$filename = dirname(__FILE__)."/fgetss_basic2.tmp";
-
-/* try reading the file opened in different modes of reading */
-$file_modes = array("w+","w+b", "w+t","a+", "a+b", "a+t","x+","x+b","x+t");
-
-for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) {
- echo "\n-- Testing fgetss() with file opened using $file_modes[$mode_counter] mode --\n";
-
- /* create an empty file and write the strings with tags */
- $file_handle = fopen($filename, $file_modes[$mode_counter]);
- fwrite($file_handle,$string_with_tags); //writing data to the file
- if(!$file_handle) {
- echo "Error: failed to open file $filename!\n";
- exit();
- }
-
- // rewind the file pointer to beginning of the file
- var_dump( filesize($filename) );
- var_dump( rewind($file_handle) );
- var_dump( ftell($file_handle) );
- var_dump( feof($file_handle) );
-
- /* read entire file and strip tags */
- echo "-- fgetss() with default length, file pointer at 0 --\n";
- var_dump( fgetss($file_handle) ); // no length and allowable tags provided, reads entire file
- var_dump( ftell($file_handle) );
- var_dump( feof($file_handle) );
-
- rewind($file_handle);
- /* read entire file and strip tags tags */
- echo "-- fgets() with length = 30, file pointer at 0 --\n";
- var_dump( fgetss($file_handle ,30) ); // length parameter given,not reading entire file
- var_dump( ftell($file_handle) ); // checking file pointer position initially
- var_dump( feof($file_handle) ); // confirm file pointer is not at eof
-
- // close the file
- fclose($file_handle);
-
- // delete the file
- unlink($filename);
-} // end of for - mode_counter
-
-echo "Done\n";
-?>
---EXPECT--
-*** Testing fgetss() : basic operations ***
-
--- Testing fgetss() with file opened using w+ mode --
-int(192)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 --
-string(27) "Testing fgetss() functions
-"
-int(40)
-bool(false)
--- fgets() with length = 30, file pointer at 0 --
-string(23) "Testing fgetss() functi"
-int(29)
-bool(false)
-
--- Testing fgetss() with file opened using w+b mode --
-int(192)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 --
-string(27) "Testing fgetss() functions
-"
-int(40)
-bool(false)
--- fgets() with length = 30, file pointer at 0 --
-string(23) "Testing fgetss() functi"
-int(29)
-bool(false)
-
--- Testing fgetss() with file opened using w+t mode --
-int(195)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 --
-string(27) "Testing fgetss() functions
-"
-int(40)
-bool(false)
--- fgets() with length = 30, file pointer at 0 --
-string(23) "Testing fgetss() functi"
-int(29)
-bool(false)
-
--- Testing fgetss() with file opened using a+ mode --
-int(192)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 --
-string(27) "Testing fgetss() functions
-"
-int(40)
-bool(false)
--- fgets() with length = 30, file pointer at 0 --
-string(23) "Testing fgetss() functi"
-int(29)
-bool(false)
-
--- Testing fgetss() with file opened using a+b mode --
-int(192)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 --
-string(27) "Testing fgetss() functions
-"
-int(40)
-bool(false)
--- fgets() with length = 30, file pointer at 0 --
-string(23) "Testing fgetss() functi"
-int(29)
-bool(false)
-
--- Testing fgetss() with file opened using a+t mode --
-int(195)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 --
-string(27) "Testing fgetss() functions
-"
-int(40)
-bool(false)
--- fgets() with length = 30, file pointer at 0 --
-string(23) "Testing fgetss() functi"
-int(29)
-bool(false)
-
--- Testing fgetss() with file opened using x+ mode --
-int(192)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 --
-string(27) "Testing fgetss() functions
-"
-int(40)
-bool(false)
--- fgets() with length = 30, file pointer at 0 --
-string(23) "Testing fgetss() functi"
-int(29)
-bool(false)
-
--- Testing fgetss() with file opened using x+b mode --
-int(192)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 --
-string(27) "Testing fgetss() functions
-"
-int(40)
-bool(false)
--- fgets() with length = 30, file pointer at 0 --
-string(23) "Testing fgetss() functi"
-int(29)
-bool(false)
-
--- Testing fgetss() with file opened using x+t mode --
-int(195)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 --
-string(27) "Testing fgetss() functions
-"
-int(40)
-bool(false)
--- fgets() with length = 30, file pointer at 0 --
-string(23) "Testing fgetss() functi"
-int(29)
-bool(false)
-Done
+++ /dev/null
---TEST--
-Test fgetss() function : Basic functionality - read/write modes
---SKIPIF--
-<?php
-if (substr(PHP_OS, 0, 3) == 'WIN') {
- die('skip.. Not valid for Windows');
-}
-?>
---FILE--
-<?php
-error_reporting(E_ALL & ~E_DEPRECATED);
-
-/*
- Prototype: string fgetss ( resource $handle [, int $length [, string $allowable_tags]] );
- Description: Gets line from file pointer and strip HTML tags
-*/
-
-/* try fgetss on files which are opened in read/write modes
- w+, w+b, w+t,
- a+, a+b, a+t,
- x+, x+b, x+t
-*/
-
-
-echo "*** Testing fgetss() : basic operations ***\n";
-
-/* string with html and php tags */
-$string_with_tags = <<<EOT
-<test>Testing fgetss() functions</test>
-<?php echo "this string is within php tag"; ?> {;}<{> this
-is a heredoc string. <pg>ksklnm@@$$&$&^%&^%&^%&</pg>
-<html> html </html> <?php echo "php"; ?>
-EOT;
-
-$filename = dirname(__FILE__)."/fgetss_basic2.tmp";
-
-/* try reading the file opened in different modes of reading */
-$file_modes = array("w+","w+b", "w+t","a+", "a+b", "a+t","x+","x+b","x+t");
-
-for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) {
- echo "\n-- Testing fgetss() with file opened using $file_modes[$mode_counter] mode --\n";
-
- /* create an empty file and write the strings with tags */
- $file_handle = fopen($filename, $file_modes[$mode_counter]);
- fwrite($file_handle,$string_with_tags); //writing data to the file
- if(!$file_handle) {
- echo "Error: failed to open file $filename!\n";
- exit();
- }
-
- // rewind the file pointer to beginning of the file
- var_dump( filesize($filename) );
- var_dump( rewind($file_handle) );
- var_dump( ftell($file_handle) );
- var_dump( feof($file_handle) );
-
- /* read entire file and strip tags */
- echo "-- fgetss() with default length, file pointer at 0 --\n";
- var_dump( fgetss($file_handle) ); // no length and allowable tags provided, reads entire file
- var_dump( ftell($file_handle) );
- var_dump( feof($file_handle) );
-
- rewind($file_handle);
- /* read entire file and strip tags tags */
- echo "-- fgets() with length = 30, file pointer at 0 --\n";
- var_dump( fgetss($file_handle ,30) ); // length parameter given,not reading entire file
- var_dump( ftell($file_handle) ); // checking file pointer position initially
- var_dump( feof($file_handle) ); // confirm file pointer is not at eof
-
- // close the file
- fclose($file_handle);
-
- // delete the file
- unlink($filename);
-} // end of for - mode_counter
-
-echo "Done\n";
-?>
---EXPECT--
-*** Testing fgetss() : basic operations ***
-
--- Testing fgetss() with file opened using w+ mode --
-int(192)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 --
-string(27) "Testing fgetss() functions
-"
-int(40)
-bool(false)
--- fgets() with length = 30, file pointer at 0 --
-string(23) "Testing fgetss() functi"
-int(29)
-bool(false)
-
--- Testing fgetss() with file opened using w+b mode --
-int(192)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 --
-string(27) "Testing fgetss() functions
-"
-int(40)
-bool(false)
--- fgets() with length = 30, file pointer at 0 --
-string(23) "Testing fgetss() functi"
-int(29)
-bool(false)
-
--- Testing fgetss() with file opened using w+t mode --
-int(192)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 --
-string(27) "Testing fgetss() functions
-"
-int(40)
-bool(false)
--- fgets() with length = 30, file pointer at 0 --
-string(23) "Testing fgetss() functi"
-int(29)
-bool(false)
-
--- Testing fgetss() with file opened using a+ mode --
-int(192)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 --
-string(27) "Testing fgetss() functions
-"
-int(40)
-bool(false)
--- fgets() with length = 30, file pointer at 0 --
-string(23) "Testing fgetss() functi"
-int(29)
-bool(false)
-
--- Testing fgetss() with file opened using a+b mode --
-int(192)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 --
-string(27) "Testing fgetss() functions
-"
-int(40)
-bool(false)
--- fgets() with length = 30, file pointer at 0 --
-string(23) "Testing fgetss() functi"
-int(29)
-bool(false)
-
--- Testing fgetss() with file opened using a+t mode --
-int(192)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 --
-string(27) "Testing fgetss() functions
-"
-int(40)
-bool(false)
--- fgets() with length = 30, file pointer at 0 --
-string(23) "Testing fgetss() functi"
-int(29)
-bool(false)
-
--- Testing fgetss() with file opened using x+ mode --
-int(192)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 --
-string(27) "Testing fgetss() functions
-"
-int(40)
-bool(false)
--- fgets() with length = 30, file pointer at 0 --
-string(23) "Testing fgetss() functi"
-int(29)
-bool(false)
-
--- Testing fgetss() with file opened using x+b mode --
-int(192)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 --
-string(27) "Testing fgetss() functions
-"
-int(40)
-bool(false)
--- fgets() with length = 30, file pointer at 0 --
-string(23) "Testing fgetss() functi"
-int(29)
-bool(false)
-
--- Testing fgetss() with file opened using x+t mode --
-int(192)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 --
-string(27) "Testing fgetss() functions
-"
-int(40)
-bool(false)
--- fgets() with length = 30, file pointer at 0 --
-string(23) "Testing fgetss() functi"
-int(29)
-bool(false)
-Done
+++ /dev/null
---TEST--
-Test fgetss() function : error conditions
---FILE--
-<?php
-error_reporting(E_ALL & ~E_DEPRECATED);
-
-/*
- Prototype: string fgetss ( resource $handle [, int $length [, string $allowable_tags]] );
- Description: Gets line from file pointer and strip HTML tags
-*/
-
-echo "*** Testing error conditions ***\n";
-// zero argument
-echo "-- Testing fgetss() with zero argument --\n";
-var_dump( fgetss() );
-
-// more than expected no. of args
-echo "-- Testing fgetss() with more than expected number of arguments --\n";
-$fp = fopen(__FILE__, "r");
-var_dump( fgetss($fp, 100, '<p><a>', $fp) );
-
-// invalid length argument
-echo "-- Testing fgetss() with invalid length arguments --\n";
-$len = 0;
-$allowable_tags = '<p><a>';
-var_dump( fgetss($fp, $len, $allowable_tags) );
-$len = -10;
-var_dump( fgetss($fp, $len, $allowable_tags) );
-$len = 1;
-var_dump( fgetss($fp, $len, $allowable_tags) ); // return length - 1 always, expect false
-
-// test invalid arguments : non-resources
-echo "-- Testing fgetss() with invalid arguments --\n";
-$invalid_args = array (
- "string",
- 10,
- 10.5,
- true,
- array(1,2,3),
- new stdclass,
-);
-/* loop to test fgetss() with different invalid type of args */
-for($loop_counter = 1; $loop_counter <= count($invalid_args); $loop_counter++) {
- echo "-- Iteration $loop_counter --\n";
- var_dump( fgetss($invalid_args[$loop_counter - 1], 10, $allowable_tags) );
-}
-// fgetss() on a file handle which is already closed
-echo "-- Testing fgetss() with closed/unset file handle --";
-fclose($fp);
-var_dump(fgetss($fp,10,$allowable_tags));
-
-// fgetss() on a file handle which is unset
-$file_handle = fopen(__FILE__, "r");
-unset($file_handle); //unset file handle
-var_dump( fgetss(@$file_handle,10));
-
-echo "Done\n";
-?>
---EXPECTF--
-*** Testing error conditions ***
--- Testing fgetss() with zero argument --
-
-Warning: fgetss() expects at least 1 parameter, 0 given in %s on line %d
-bool(false)
--- Testing fgetss() with more than expected number of arguments --
-
-Warning: fgetss() expects at most 3 parameters, 4 given in %s on line %d
-bool(false)
--- Testing fgetss() with invalid length arguments --
-
-Warning: fgetss(): Length parameter must be greater than 0 in %s on line %d
-bool(false)
-
-Warning: fgetss(): Length parameter must be greater than 0 in %s on line %d
-bool(false)
-bool(false)
--- Testing fgetss() with invalid arguments --
--- Iteration 1 --
-
-Warning: fgetss() expects parameter 1 to be resource, string given in %s on line %d
-bool(false)
--- Iteration 2 --
-
-Warning: fgetss() expects parameter 1 to be resource, int given in %s on line %d
-bool(false)
--- Iteration 3 --
-
-Warning: fgetss() expects parameter 1 to be resource, float given in %s on line %d
-bool(false)
--- Iteration 4 --
-
-Warning: fgetss() expects parameter 1 to be resource, bool given in %s on line %d
-bool(false)
--- Iteration 5 --
-
-Warning: fgetss() expects parameter 1 to be resource, array given in %s on line %d
-bool(false)
--- Iteration 6 --
-
-Warning: fgetss() expects parameter 1 to be resource, object given in %s on line %d
-bool(false)
--- Testing fgetss() with closed/unset file handle --
-Warning: fgetss(): supplied resource is not a valid stream resource in %s on line %d
-bool(false)
-
-Warning: fgetss() expects parameter 1 to be resource, null given in %s on line %d
-bool(false)
-Done
+++ /dev/null
---TEST--
-Test fgetss() function : usage variations - write only modes
---SKIPIF--
-<?php
-if (substr(PHP_OS, 0, 3) != 'WIN') {
- die('skip.. only on Windows');
-}
-?>
---FILE--
-<?php
-error_reporting(E_ALL & ~E_DEPRECATED);
-
-/*
- Prototype: string fgetss ( resource $handle [, int $length [, string $allowable_tags]] );
- Description: Gets line from file pointer and strip HTML tags
-*/
-
-/* try fgets on files which are opened in non readable modes
- w, wb, wt,
- a, ab, at,
- x, xb, xt
-*/
-
-// include the common file related test functions
-include ("file.inc");
-
-echo "*** Testing fgetss() : usage variations ***\n";
-
-/* string with html and php tags */
-$string_with_tags = <<<EOT
-<test>Testing fgetss() functions</test>
-<?php echo "this string is within php tag"; ?> {;}<{> this
-is a heredoc string. <pg>ksklnm@@$$&$&^%&^%&^%&</pg>
-<html> html </html> <?php echo "php"; ?>
-this line is without any html and php tags
-this is a line with more than eighty character,want to check line splitting correctly after 80 characters
-this text contains some html tags <body> body </body> <br> br </br>
-this is the line with \n character.
-EOT;
-
-if(substr(PHP_OS, 0, 3) == "WIN") {
- $string_with_tags = str_replace("\r",'', $string_with_tags);
-}
-
-$filename = dirname(__FILE__)."/fgetss_variation1.tmp";
-
-/* try reading the file opened in different modes of reading */
-$file_modes = array("w","wb", "wt","a", "ab", "at","x","xb","xt");
-
-for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) {
- echo "\n-- Testing fgetss() with file opened using $file_modes[$mode_counter] mode --\n";
-
- /* create an empty file and write the strings with tags */
- $file_handle = fopen($filename, $file_modes[$mode_counter]);
- fwrite($file_handle,$string_with_tags);
- if(!$file_handle) {
- echo "Error: failed to open file $filename!\n";
- exit();
- }
-
- // rewind the file pointer to beginning of the file
- var_dump( filesize($filename) );
- var_dump( rewind($file_handle) );
- var_dump( ftell($file_handle) );
- var_dump( feof($file_handle) );
-
- /* read entire file and strip tags */
- echo "-- fgetss() with default length, file pointer at 0 , expected : no character should be read --\n";
- var_dump( fgetss($file_handle) ); // expected : no character should be read
- var_dump( ftell($file_handle) ); //ensure that file pointer position is not changed
- var_dump( feof($file_handle) ); // check if end of file pointer is set
-
- // close the file
- fclose($file_handle);
-
- // delete the file
- delete_file($filename);
-} // end of for - mode_counter
-
-echo "Done\n";
-?>
---EXPECT--
-*** Testing fgetss() : usage variations ***
-
--- Testing fgetss() with file opened using w mode --
-int(445)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 , expected : no character should be read --
-bool(false)
-int(0)
-bool(false)
-
--- Testing fgetss() with file opened using wb mode --
-int(445)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 , expected : no character should be read --
-bool(false)
-int(0)
-bool(false)
-
--- Testing fgetss() with file opened using wt mode --
-int(453)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 , expected : no character should be read --
-bool(false)
-int(0)
-bool(false)
-
--- Testing fgetss() with file opened using a mode --
-int(445)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 , expected : no character should be read --
-bool(false)
-int(0)
-bool(false)
-
--- Testing fgetss() with file opened using ab mode --
-int(445)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 , expected : no character should be read --
-bool(false)
-int(0)
-bool(false)
-
--- Testing fgetss() with file opened using at mode --
-int(453)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 , expected : no character should be read --
-bool(false)
-int(0)
-bool(false)
-
--- Testing fgetss() with file opened using x mode --
-int(445)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 , expected : no character should be read --
-bool(false)
-int(0)
-bool(false)
-
--- Testing fgetss() with file opened using xb mode --
-int(445)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 , expected : no character should be read --
-bool(false)
-int(0)
-bool(false)
-
--- Testing fgetss() with file opened using xt mode --
-int(453)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 , expected : no character should be read --
-bool(false)
-int(0)
-bool(false)
-Done
+++ /dev/null
---TEST--
-Test fgetss() function : usage variations - write only modes
---SKIPIF--
-<?php
-if (substr(PHP_OS, 0, 3) == 'WIN') {
- die('skip.. Not valid for Windows');
-}
-?>
---FILE--
-<?php
-error_reporting(E_ALL & ~E_DEPRECATED);
-
-/*
- Prototype: string fgetss ( resource $handle [, int $length [, string $allowable_tags]] );
- Description: Gets line from file pointer and strip HTML tags
-*/
-
-/* try fgets on files which are opened in non readable modes
- w, wb, wt,
- a, ab, at,
- x, xb, xt
-*/
-
-// include the common file related test functions
-include ("file.inc");
-
-echo "*** Testing fgetss() : usage variations ***\n";
-
-/* string with html and php tags */
-$string_with_tags = <<<EOT
-<test>Testing fgetss() functions</test>
-<?php echo "this string is within php tag"; ?> {;}<{> this
-is a heredoc string. <pg>ksklnm@@$$&$&^%&^%&^%&</pg>
-<html> html </html> <?php echo "php"; ?>
-this line is without any html and php tags
-this is a line with more than eighty character,want to check line splitting correctly after 80 characters
-this text contains some html tags <body> body </body> <br> br </br>
-this is the line with \n character.
-EOT;
-
-$filename = dirname(__FILE__)."/fgetss_variation1.tmp";
-
-/* try reading the file opened in different modes of reading */
-$file_modes = array("w","wb", "wt","a", "ab", "at","x","xb","xt");
-
-for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) {
- echo "\n-- Testing fgetss() with file opened using $file_modes[$mode_counter] mode --\n";
-
- /* create an empty file and write the strings with tags */
- $file_handle = fopen($filename, $file_modes[$mode_counter]);
- fwrite($file_handle,$string_with_tags);
- if(!$file_handle) {
- echo "Error: failed to open file $filename!\n";
- exit();
- }
-
- // rewind the file pointer to beginning of the file
- var_dump( filesize($filename) );
- var_dump( rewind($file_handle) );
- var_dump( ftell($file_handle) );
- var_dump( feof($file_handle) );
-
- /* read entire file and strip tags */
- echo "-- fgetss() with default length, file pointer at 0 , expected : no character should be read --\n";
- var_dump( fgetss($file_handle) ); // expected : no character should be read
- var_dump( ftell($file_handle) ); //ensure that file pointer position is not changed
- var_dump( feof($file_handle) ); // check if end of file pointer is set
-
- // close the file
- fclose($file_handle);
-
- // delete the file
- delete_file($filename);
-} // end of for - mode_counter
-
-echo "Done\n";
-?>
---EXPECT--
-*** Testing fgetss() : usage variations ***
-
--- Testing fgetss() with file opened using w mode --
-int(445)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 , expected : no character should be read --
-bool(false)
-int(0)
-bool(false)
-
--- Testing fgetss() with file opened using wb mode --
-int(445)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 , expected : no character should be read --
-bool(false)
-int(0)
-bool(false)
-
--- Testing fgetss() with file opened using wt mode --
-int(445)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 , expected : no character should be read --
-bool(false)
-int(0)
-bool(false)
-
--- Testing fgetss() with file opened using a mode --
-int(445)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 , expected : no character should be read --
-bool(false)
-int(0)
-bool(false)
-
--- Testing fgetss() with file opened using ab mode --
-int(445)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 , expected : no character should be read --
-bool(false)
-int(0)
-bool(false)
-
--- Testing fgetss() with file opened using at mode --
-int(445)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 , expected : no character should be read --
-bool(false)
-int(0)
-bool(false)
-
--- Testing fgetss() with file opened using x mode --
-int(445)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 , expected : no character should be read --
-bool(false)
-int(0)
-bool(false)
-
--- Testing fgetss() with file opened using xb mode --
-int(445)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 , expected : no character should be read --
-bool(false)
-int(0)
-bool(false)
-
--- Testing fgetss() with file opened using xt mode --
-int(445)
-bool(true)
-int(0)
-bool(false)
--- fgetss() with default length, file pointer at 0 , expected : no character should be read --
-bool(false)
-int(0)
-bool(false)
-Done
+++ /dev/null
---TEST--
-Test fgetss() function : usage variations - read modes
---FILE--
-<?php
-error_reporting(E_ALL & ~E_DEPRECATED);
-
-/*
- Prototype: string fgetss ( resource $handle [, int $length [, string $allowable_tags]] );
- Description: Gets line from file pointer and strip HTML tags
-*/
-
-// include the common file related test functions
-include ("file.inc");
-
-/*Test fgetss() with all read modes , reading line by line with allowable tags: <test>, <html>, <?> */
-
-echo "*** Testing fgetss() : usage variations ***\n";
-
-/* string with html and php tags */
-$string_with_tags = <<<EOT
-<test>Testing fgetss() functions</test>
-<?php echo "this string is within php tag"; ?> {;}<{> this
-is a heredoc string. <pg>ksklnm@@$$&$&^%&^%&^%&</pg>
-<html> html </html> <?php echo "php"; ?>
-this line is without any html and php tags
-this is a line with more than eighty character,want to check line splitting correctly after 80 characters
-this is the text containing \r character
-this text contains some html tags <body> body </body> <br> br </br>
-this is the line with \n character.
-EOT;
-
-$filename = dirname(__FILE__)."/fgetss_variation2.tmp";
-
-/* try reading the file opened in different modes of reading */
-$file_modes = array("r","rb", "rt","r+", "r+b", "r+t");
-
-for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) {
- echo "\n-- Testing fgetss() with file opened using $file_modes[$mode_counter] mode --\n";
-
- /* create an empty file and write the strings with tags */
- create_file ($filename); //create an empty file
- file_put_contents($filename, $string_with_tags);
- $file_handle = fopen($filename, $file_modes[$mode_counter]);
- if(!$file_handle) {
- echo "Error: failed to open file $filename!\n";
- exit();
- }
-
- // rewind the file pointer to beginning of the file
- var_dump( filesize($filename) );
- var_dump( rewind($file_handle) );
- var_dump( ftell($file_handle) );
- var_dump( feof($file_handle) );
-
- /* rewind the file and read the file line by line with allowable tags */
- echo "-- Reading line by line with allowable tags: <test>, <html>, <?> --\n";
- rewind($file_handle);
- $line = 1;
- while( !feof($file_handle) ) {
- echo "-- Line $line --\n"; $line++;
- var_dump( fgetss($file_handle, 80, "<test>, <html>, <?>") );
- var_dump( ftell($file_handle) ); // check the file pointer position
- var_dump( feof($file_handle) ); // check if eof reached
- }
-
- // close the file
- fclose($file_handle);
- // delete the file
- delete_file($filename);
-} // end of for - mode_counter
-
-echo "Done\n";
-?>
---EXPECT--
-*** Testing fgetss() : usage variations ***
-
--- Testing fgetss() with file opened using r mode --
-int(486)
-bool(true)
-int(0)
-bool(false)
--- Reading line by line with allowable tags: <test>, <html>, <?> --
--- Line 1 --
-string(40) "<test>Testing fgetss() functions</test>
-"
-int(40)
-bool(false)
--- Line 2 --
-string(10) " {;} this
-"
-int(99)
-bool(false)
--- Line 3 --
-string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%&
-"
-int(152)
-bool(false)
--- Line 4 --
-string(21) "<html> html </html>
-"
-int(193)
-bool(false)
--- Line 5 --
-string(43) "this line is without any html and php tags
-"
-int(236)
-bool(false)
--- Line 6 --
-string(79) "this is a line with more than eighty character,want to check line splitting cor"
-int(315)
-bool(false)
--- Line 7 --
-string(27) "rectly after 80 characters
-"
-int(342)
-bool(false)
--- Line 8 --
-string(41) "this is the text containing \r character
-"
-int(383)
-bool(false)
--- Line 9 --
-string(46) "this text contains some html tags body br
-"
-int(451)
-bool(false)
--- Line 10 --
-string(23) "this is the line with
-"
-int(474)
-bool(false)
--- Line 11 --
-string(12) " character. "
-int(486)
-bool(true)
-
--- Testing fgetss() with file opened using rb mode --
-int(486)
-bool(true)
-int(0)
-bool(false)
--- Reading line by line with allowable tags: <test>, <html>, <?> --
--- Line 1 --
-string(40) "<test>Testing fgetss() functions</test>
-"
-int(40)
-bool(false)
--- Line 2 --
-string(10) " {;} this
-"
-int(99)
-bool(false)
--- Line 3 --
-string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%&
-"
-int(152)
-bool(false)
--- Line 4 --
-string(21) "<html> html </html>
-"
-int(193)
-bool(false)
--- Line 5 --
-string(43) "this line is without any html and php tags
-"
-int(236)
-bool(false)
--- Line 6 --
-string(79) "this is a line with more than eighty character,want to check line splitting cor"
-int(315)
-bool(false)
--- Line 7 --
-string(27) "rectly after 80 characters
-"
-int(342)
-bool(false)
--- Line 8 --
-string(41) "this is the text containing \r character
-"
-int(383)
-bool(false)
--- Line 9 --
-string(46) "this text contains some html tags body br
-"
-int(451)
-bool(false)
--- Line 10 --
-string(23) "this is the line with
-"
-int(474)
-bool(false)
--- Line 11 --
-string(12) " character. "
-int(486)
-bool(true)
-
--- Testing fgetss() with file opened using rt mode --
-int(486)
-bool(true)
-int(0)
-bool(false)
--- Reading line by line with allowable tags: <test>, <html>, <?> --
--- Line 1 --
-string(40) "<test>Testing fgetss() functions</test>
-"
-int(40)
-bool(false)
--- Line 2 --
-string(10) " {;} this
-"
-int(99)
-bool(false)
--- Line 3 --
-string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%&
-"
-int(152)
-bool(false)
--- Line 4 --
-string(21) "<html> html </html>
-"
-int(193)
-bool(false)
--- Line 5 --
-string(43) "this line is without any html and php tags
-"
-int(236)
-bool(false)
--- Line 6 --
-string(79) "this is a line with more than eighty character,want to check line splitting cor"
-int(315)
-bool(false)
--- Line 7 --
-string(27) "rectly after 80 characters
-"
-int(342)
-bool(false)
--- Line 8 --
-string(41) "this is the text containing \r character
-"
-int(383)
-bool(false)
--- Line 9 --
-string(46) "this text contains some html tags body br
-"
-int(451)
-bool(false)
--- Line 10 --
-string(23) "this is the line with
-"
-int(474)
-bool(false)
--- Line 11 --
-string(12) " character. "
-int(486)
-bool(true)
-
--- Testing fgetss() with file opened using r+ mode --
-int(486)
-bool(true)
-int(0)
-bool(false)
--- Reading line by line with allowable tags: <test>, <html>, <?> --
--- Line 1 --
-string(40) "<test>Testing fgetss() functions</test>
-"
-int(40)
-bool(false)
--- Line 2 --
-string(10) " {;} this
-"
-int(99)
-bool(false)
--- Line 3 --
-string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%&
-"
-int(152)
-bool(false)
--- Line 4 --
-string(21) "<html> html </html>
-"
-int(193)
-bool(false)
--- Line 5 --
-string(43) "this line is without any html and php tags
-"
-int(236)
-bool(false)
--- Line 6 --
-string(79) "this is a line with more than eighty character,want to check line splitting cor"
-int(315)
-bool(false)
--- Line 7 --
-string(27) "rectly after 80 characters
-"
-int(342)
-bool(false)
--- Line 8 --
-string(41) "this is the text containing \r character
-"
-int(383)
-bool(false)
--- Line 9 --
-string(46) "this text contains some html tags body br
-"
-int(451)
-bool(false)
--- Line 10 --
-string(23) "this is the line with
-"
-int(474)
-bool(false)
--- Line 11 --
-string(12) " character. "
-int(486)
-bool(true)
-
--- Testing fgetss() with file opened using r+b mode --
-int(486)
-bool(true)
-int(0)
-bool(false)
--- Reading line by line with allowable tags: <test>, <html>, <?> --
--- Line 1 --
-string(40) "<test>Testing fgetss() functions</test>
-"
-int(40)
-bool(false)
--- Line 2 --
-string(10) " {;} this
-"
-int(99)
-bool(false)
--- Line 3 --
-string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%&
-"
-int(152)
-bool(false)
--- Line 4 --
-string(21) "<html> html </html>
-"
-int(193)
-bool(false)
--- Line 5 --
-string(43) "this line is without any html and php tags
-"
-int(236)
-bool(false)
--- Line 6 --
-string(79) "this is a line with more than eighty character,want to check line splitting cor"
-int(315)
-bool(false)
--- Line 7 --
-string(27) "rectly after 80 characters
-"
-int(342)
-bool(false)
--- Line 8 --
-string(41) "this is the text containing \r character
-"
-int(383)
-bool(false)
--- Line 9 --
-string(46) "this text contains some html tags body br
-"
-int(451)
-bool(false)
--- Line 10 --
-string(23) "this is the line with
-"
-int(474)
-bool(false)
--- Line 11 --
-string(12) " character. "
-int(486)
-bool(true)
-
--- Testing fgetss() with file opened using r+t mode --
-int(486)
-bool(true)
-int(0)
-bool(false)
--- Reading line by line with allowable tags: <test>, <html>, <?> --
--- Line 1 --
-string(40) "<test>Testing fgetss() functions</test>
-"
-int(40)
-bool(false)
--- Line 2 --
-string(10) " {;} this
-"
-int(99)
-bool(false)
--- Line 3 --
-string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%&
-"
-int(152)
-bool(false)
--- Line 4 --
-string(21) "<html> html </html>
-"
-int(193)
-bool(false)
--- Line 5 --
-string(43) "this line is without any html and php tags
-"
-int(236)
-bool(false)
--- Line 6 --
-string(79) "this is a line with more than eighty character,want to check line splitting cor"
-int(315)
-bool(false)
--- Line 7 --
-string(27) "rectly after 80 characters
-"
-int(342)
-bool(false)
--- Line 8 --
-string(41) "this is the text containing \r character
-"
-int(383)
-bool(false)
--- Line 9 --
-string(46) "this text contains some html tags body br
-"
-int(451)
-bool(false)
--- Line 10 --
-string(23) "this is the line with
-"
-int(474)
-bool(false)
--- Line 11 --
-string(12) " character. "
-int(486)
-bool(true)
-Done
+++ /dev/null
---TEST--
-Test fgetss() function : usage variations - read/write modes
---SKIPIF--
-<?php
-if (substr(PHP_OS, 0, 3) != 'WIN') {
- die('skip.. only valid for Windows');
-}
-?>
---FILE--
-<?php
-error_reporting(E_ALL & ~E_DEPRECATED);
-
-/*
- Prototype: string fgetss ( resource $handle [, int $length [, string $allowable_tags]] );
- Description: Gets line from file pointer and strip HTML tags
-*/
-
-/* try fgetss on files which are opened in read/write modes
- w+, w+b, w+t,
- a+, a+b, a+t,
- x+, x+b, x+t
- reading line by line with allowable tags: <test>, <html>, <?>
-*/
-
-
-echo "*** Testing fgetss() : usage variations ***\n";
-
-/* string with html and php tags */
-$string_with_tags = <<<EOT
-<test>Testing fgetss() functions</test>
-<?php echo "this string is within php tag"; ?> {;}<{> this
-is a heredoc string. <pg>ksklnm@@$$&$&^%&^%&^%&</pg>
-<html> html </html> <?php echo "php"; ?>
-this line is without any html and php tags
-this is a line with more than eighty character,want to check line splitting correctly after 80 characters
-this text contains some html tags <body> body </body> <br> br </br>
-this is the line with \n character.
-EOT;
-
-if(substr(PHP_OS, 0, 3) == "WIN") {
- $string_with_tags = str_replace("\r",'', $string_with_tags);
-}
-
-$filename = dirname(__FILE__)."/fgetss_variation3.tmp";
-
-/* try reading the file opened in different modes of reading */
-$file_modes = array("w+","w+b", "w+t","a+", "a+b", "a+t","x+","x+b","x+t");
-
-for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) {
- echo "\n-- Testing fgetss() with file opened using $file_modes[$mode_counter] mode --\n";
-
- /* create an empty file and write the strings with tags */
- $file_handle = fopen($filename, $file_modes[$mode_counter]);
- fwrite($file_handle,$string_with_tags); //writing data to the file
- if(!$file_handle) {
- echo "Error: failed to open file $filename!\n";
- exit();
- }
-
- // rewind the file pointer to beginning of the file
- rewind($file_handle);
- var_dump( ftell($file_handle) );
- var_dump( filesize($filename) );
- var_dump( feof($file_handle) );
-
- /* rewind the file and read the file line by line with allowable tags */
- echo "-- Reading line by line with allowable tags: <test>, <html>, <?> --\n";
- $line = 1;
- while( !feof($file_handle) ) {
- echo "-- Line $line --\n"; $line++;
- var_dump( fgetss($file_handle, 80, "<test>, <html>, <?>") );
- var_dump( ftell($file_handle) ); // check the file pointer position
- var_dump( feof($file_handle) ); // check if eof reached
- }
-
- // close the file
- fclose($file_handle);
-
- // delete the file
- unlink($filename);
-} // end of for - mode_counter
-
-echo "Done\n";
-?>
---EXPECT--
-*** Testing fgetss() : usage variations ***
-
--- Testing fgetss() with file opened using w+ mode --
-int(0)
-int(445)
-bool(false)
--- Reading line by line with allowable tags: <test>, <html>, <?> --
--- Line 1 --
-string(40) "<test>Testing fgetss() functions</test>
-"
-int(40)
-bool(false)
--- Line 2 --
-string(10) " {;} this
-"
-int(99)
-bool(false)
--- Line 3 --
-string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%&
-"
-int(152)
-bool(false)
--- Line 4 --
-string(21) "<html> html </html>
-"
-int(193)
-bool(false)
--- Line 5 --
-string(43) "this line is without any html and php tags
-"
-int(236)
-bool(false)
--- Line 6 --
-string(79) "this is a line with more than eighty character,want to check line splitting cor"
-int(315)
-bool(false)
--- Line 7 --
-string(27) "rectly after 80 characters
-"
-int(342)
-bool(false)
--- Line 8 --
-string(46) "this text contains some html tags body br
-"
-int(410)
-bool(false)
--- Line 9 --
-string(23) "this is the line with
-"
-int(433)
-bool(false)
--- Line 10 --
-string(12) " character. "
-int(445)
-bool(true)
-
--- Testing fgetss() with file opened using w+b mode --
-int(0)
-int(445)
-bool(false)
--- Reading line by line with allowable tags: <test>, <html>, <?> --
--- Line 1 --
-string(40) "<test>Testing fgetss() functions</test>
-"
-int(40)
-bool(false)
--- Line 2 --
-string(10) " {;} this
-"
-int(99)
-bool(false)
--- Line 3 --
-string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%&
-"
-int(152)
-bool(false)
--- Line 4 --
-string(21) "<html> html </html>
-"
-int(193)
-bool(false)
--- Line 5 --
-string(43) "this line is without any html and php tags
-"
-int(236)
-bool(false)
--- Line 6 --
-string(79) "this is a line with more than eighty character,want to check line splitting cor"
-int(315)
-bool(false)
--- Line 7 --
-string(27) "rectly after 80 characters
-"
-int(342)
-bool(false)
--- Line 8 --
-string(46) "this text contains some html tags body br
-"
-int(410)
-bool(false)
--- Line 9 --
-string(23) "this is the line with
-"
-int(433)
-bool(false)
--- Line 10 --
-string(12) " character. "
-int(445)
-bool(true)
-
--- Testing fgetss() with file opened using w+t mode --
-int(0)
-int(453)
-bool(false)
--- Reading line by line with allowable tags: <test>, <html>, <?> --
--- Line 1 --
-string(40) "<test>Testing fgetss() functions</test>
-"
-int(40)
-bool(false)
--- Line 2 --
-string(10) " {;} this
-"
-int(99)
-bool(false)
--- Line 3 --
-string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%&
-"
-int(152)
-bool(false)
--- Line 4 --
-string(21) "<html> html </html>
-"
-int(193)
-bool(false)
--- Line 5 --
-string(43) "this line is without any html and php tags
-"
-int(236)
-bool(false)
--- Line 6 --
-string(79) "this is a line with more than eighty character,want to check line splitting cor"
-int(315)
-bool(false)
--- Line 7 --
-string(27) "rectly after 80 characters
-"
-int(342)
-bool(false)
--- Line 8 --
-string(46) "this text contains some html tags body br
-"
-int(410)
-bool(false)
--- Line 9 --
-string(23) "this is the line with
-"
-int(433)
-bool(false)
--- Line 10 --
-string(12) " character. "
-int(445)
-bool(true)
-
--- Testing fgetss() with file opened using a+ mode --
-int(0)
-int(445)
-bool(false)
--- Reading line by line with allowable tags: <test>, <html>, <?> --
--- Line 1 --
-string(40) "<test>Testing fgetss() functions</test>
-"
-int(40)
-bool(false)
--- Line 2 --
-string(10) " {;} this
-"
-int(99)
-bool(false)
--- Line 3 --
-string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%&
-"
-int(152)
-bool(false)
--- Line 4 --
-string(21) "<html> html </html>
-"
-int(193)
-bool(false)
--- Line 5 --
-string(43) "this line is without any html and php tags
-"
-int(236)
-bool(false)
--- Line 6 --
-string(79) "this is a line with more than eighty character,want to check line splitting cor"
-int(315)
-bool(false)
--- Line 7 --
-string(27) "rectly after 80 characters
-"
-int(342)
-bool(false)
--- Line 8 --
-string(46) "this text contains some html tags body br
-"
-int(410)
-bool(false)
--- Line 9 --
-string(23) "this is the line with
-"
-int(433)
-bool(false)
--- Line 10 --
-string(12) " character. "
-int(445)
-bool(true)
-
--- Testing fgetss() with file opened using a+b mode --
-int(0)
-int(445)
-bool(false)
--- Reading line by line with allowable tags: <test>, <html>, <?> --
--- Line 1 --
-string(40) "<test>Testing fgetss() functions</test>
-"
-int(40)
-bool(false)
--- Line 2 --
-string(10) " {;} this
-"
-int(99)
-bool(false)
--- Line 3 --
-string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%&
-"
-int(152)
-bool(false)
--- Line 4 --
-string(21) "<html> html </html>
-"
-int(193)
-bool(false)
--- Line 5 --
-string(43) "this line is without any html and php tags
-"
-int(236)
-bool(false)
--- Line 6 --
-string(79) "this is a line with more than eighty character,want to check line splitting cor"
-int(315)
-bool(false)
--- Line 7 --
-string(27) "rectly after 80 characters
-"
-int(342)
-bool(false)
--- Line 8 --
-string(46) "this text contains some html tags body br
-"
-int(410)
-bool(false)
--- Line 9 --
-string(23) "this is the line with
-"
-int(433)
-bool(false)
--- Line 10 --
-string(12) " character. "
-int(445)
-bool(true)
-
--- Testing fgetss() with file opened using a+t mode --
-int(0)
-int(453)
-bool(false)
--- Reading line by line with allowable tags: <test>, <html>, <?> --
--- Line 1 --
-string(40) "<test>Testing fgetss() functions</test>
-"
-int(40)
-bool(false)
--- Line 2 --
-string(10) " {;} this
-"
-int(99)
-bool(false)
--- Line 3 --
-string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%&
-"
-int(152)
-bool(false)
--- Line 4 --
-string(21) "<html> html </html>
-"
-int(193)
-bool(false)
--- Line 5 --
-string(43) "this line is without any html and php tags
-"
-int(236)
-bool(false)
--- Line 6 --
-string(79) "this is a line with more than eighty character,want to check line splitting cor"
-int(315)
-bool(false)
--- Line 7 --
-string(27) "rectly after 80 characters
-"
-int(342)
-bool(false)
--- Line 8 --
-string(46) "this text contains some html tags body br
-"
-int(410)
-bool(false)
--- Line 9 --
-string(23) "this is the line with
-"
-int(433)
-bool(false)
--- Line 10 --
-string(12) " character. "
-int(445)
-bool(true)
-
--- Testing fgetss() with file opened using x+ mode --
-int(0)
-int(445)
-bool(false)
--- Reading line by line with allowable tags: <test>, <html>, <?> --
--- Line 1 --
-string(40) "<test>Testing fgetss() functions</test>
-"
-int(40)
-bool(false)
--- Line 2 --
-string(10) " {;} this
-"
-int(99)
-bool(false)
--- Line 3 --
-string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%&
-"
-int(152)
-bool(false)
--- Line 4 --
-string(21) "<html> html </html>
-"
-int(193)
-bool(false)
--- Line 5 --
-string(43) "this line is without any html and php tags
-"
-int(236)
-bool(false)
--- Line 6 --
-string(79) "this is a line with more than eighty character,want to check line splitting cor"
-int(315)
-bool(false)
--- Line 7 --
-string(27) "rectly after 80 characters
-"
-int(342)
-bool(false)
--- Line 8 --
-string(46) "this text contains some html tags body br
-"
-int(410)
-bool(false)
--- Line 9 --
-string(23) "this is the line with
-"
-int(433)
-bool(false)
--- Line 10 --
-string(12) " character. "
-int(445)
-bool(true)
-
--- Testing fgetss() with file opened using x+b mode --
-int(0)
-int(445)
-bool(false)
--- Reading line by line with allowable tags: <test>, <html>, <?> --
--- Line 1 --
-string(40) "<test>Testing fgetss() functions</test>
-"
-int(40)
-bool(false)
--- Line 2 --
-string(10) " {;} this
-"
-int(99)
-bool(false)
--- Line 3 --
-string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%&
-"
-int(152)
-bool(false)
--- Line 4 --
-string(21) "<html> html </html>
-"
-int(193)
-bool(false)
--- Line 5 --
-string(43) "this line is without any html and php tags
-"
-int(236)
-bool(false)
--- Line 6 --
-string(79) "this is a line with more than eighty character,want to check line splitting cor"
-int(315)
-bool(false)
--- Line 7 --
-string(27) "rectly after 80 characters
-"
-int(342)
-bool(false)
--- Line 8 --
-string(46) "this text contains some html tags body br
-"
-int(410)
-bool(false)
--- Line 9 --
-string(23) "this is the line with
-"
-int(433)
-bool(false)
--- Line 10 --
-string(12) " character. "
-int(445)
-bool(true)
-
--- Testing fgetss() with file opened using x+t mode --
-int(0)
-int(453)
-bool(false)
--- Reading line by line with allowable tags: <test>, <html>, <?> --
--- Line 1 --
-string(40) "<test>Testing fgetss() functions</test>
-"
-int(40)
-bool(false)
--- Line 2 --
-string(10) " {;} this
-"
-int(99)
-bool(false)
--- Line 3 --
-string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%&
-"
-int(152)
-bool(false)
--- Line 4 --
-string(21) "<html> html </html>
-"
-int(193)
-bool(false)
--- Line 5 --
-string(43) "this line is without any html and php tags
-"
-int(236)
-bool(false)
--- Line 6 --
-string(79) "this is a line with more than eighty character,want to check line splitting cor"
-int(315)
-bool(false)
--- Line 7 --
-string(27) "rectly after 80 characters
-"
-int(342)
-bool(false)
--- Line 8 --
-string(46) "this text contains some html tags body br
-"
-int(410)
-bool(false)
--- Line 9 --
-string(23) "this is the line with
-"
-int(433)
-bool(false)
--- Line 10 --
-string(12) " character. "
-int(445)
-bool(true)
-Done
+++ /dev/null
---TEST--
-Test fgetss() function : usage variations - read/write modes
---SKIPIF--
-<?php
-if (substr(PHP_OS, 0, 3) == 'WIN') {
- die('skip.. Not valid for Windows');
-}
-?>
---FILE--
-<?php
-error_reporting(E_ALL & ~E_DEPRECATED);
-
-/*
- Prototype: string fgetss ( resource $handle [, int $length [, string $allowable_tags]] );
- Description: Gets line from file pointer and strip HTML tags
-*/
-
-/* try fgetss on files which are opened in read/write modes
- w+, w+b, w+t,
- a+, a+b, a+t,
- x+, x+b, x+t
- reading line by line with allowable tags: <test>, <html>, <?>
-*/
-
-
-echo "*** Testing fgetss() : usage variations ***\n";
-
-/* string with html and php tags */
-$string_with_tags = <<<EOT
-<test>Testing fgetss() functions</test>
-<?php echo "this string is within php tag"; ?> {;}<{> this
-is a heredoc string. <pg>ksklnm@@$$&$&^%&^%&^%&</pg>
-<html> html </html> <?php echo "php"; ?>
-this line is without any html and php tags
-this is a line with more than eighty character,want to check line splitting correctly after 80 characters
-this text contains some html tags <body> body </body> <br> br </br>
-this is the line with \n character.
-EOT;
-
-$filename = dirname(__FILE__)."/fgetss_variation3.tmp";
-
-/* try reading the file opened in different modes of reading */
-$file_modes = array("w+","w+b", "w+t","a+", "a+b", "a+t","x+","x+b","x+t");
-
-for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) {
- echo "\n-- Testing fgetss() with file opened using $file_modes[$mode_counter] mode --\n";
-
- /* create an empty file and write the strings with tags */
- $file_handle = fopen($filename, $file_modes[$mode_counter]);
- fwrite($file_handle,$string_with_tags); //writing data to the file
- if(!$file_handle) {
- echo "Error: failed to open file $filename!\n";
- exit();
- }
-
- // rewind the file pointer to beginning of the file
- rewind($file_handle);
- var_dump( ftell($file_handle) );
- var_dump( filesize($filename) );
- var_dump( feof($file_handle) );
-
- /* rewind the file and read the file line by line with allowable tags */
- echo "-- Reading line by line with allowable tags: <test>, <html>, <?> --\n";
- $line = 1;
- while( !feof($file_handle) ) {
- echo "-- Line $line --\n"; $line++;
- var_dump( fgetss($file_handle, 80, "<test>, <html>, <?>") );
- var_dump( ftell($file_handle) ); // check the file pointer position
- var_dump( feof($file_handle) ); // check if eof reached
- }
-
- // close the file
- fclose($file_handle);
-
- // delete the file
- unlink($filename);
-} // end of for - mode_counter
-
-echo "Done\n";
-?>
---EXPECT--
-*** Testing fgetss() : usage variations ***
-
--- Testing fgetss() with file opened using w+ mode --
-int(0)
-int(445)
-bool(false)
--- Reading line by line with allowable tags: <test>, <html>, <?> --
--- Line 1 --
-string(40) "<test>Testing fgetss() functions</test>
-"
-int(40)
-bool(false)
--- Line 2 --
-string(10) " {;} this
-"
-int(99)
-bool(false)
--- Line 3 --
-string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%&
-"
-int(152)
-bool(false)
--- Line 4 --
-string(21) "<html> html </html>
-"
-int(193)
-bool(false)
--- Line 5 --
-string(43) "this line is without any html and php tags
-"
-int(236)
-bool(false)
--- Line 6 --
-string(79) "this is a line with more than eighty character,want to check line splitting cor"
-int(315)
-bool(false)
--- Line 7 --
-string(27) "rectly after 80 characters
-"
-int(342)
-bool(false)
--- Line 8 --
-string(46) "this text contains some html tags body br
-"
-int(410)
-bool(false)
--- Line 9 --
-string(23) "this is the line with
-"
-int(433)
-bool(false)
--- Line 10 --
-string(12) " character. "
-int(445)
-bool(true)
-
--- Testing fgetss() with file opened using w+b mode --
-int(0)
-int(445)
-bool(false)
--- Reading line by line with allowable tags: <test>, <html>, <?> --
--- Line 1 --
-string(40) "<test>Testing fgetss() functions</test>
-"
-int(40)
-bool(false)
--- Line 2 --
-string(10) " {;} this
-"
-int(99)
-bool(false)
--- Line 3 --
-string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%&
-"
-int(152)
-bool(false)
--- Line 4 --
-string(21) "<html> html </html>
-"
-int(193)
-bool(false)
--- Line 5 --
-string(43) "this line is without any html and php tags
-"
-int(236)
-bool(false)
--- Line 6 --
-string(79) "this is a line with more than eighty character,want to check line splitting cor"
-int(315)
-bool(false)
--- Line 7 --
-string(27) "rectly after 80 characters
-"
-int(342)
-bool(false)
--- Line 8 --
-string(46) "this text contains some html tags body br
-"
-int(410)
-bool(false)
--- Line 9 --
-string(23) "this is the line with
-"
-int(433)
-bool(false)
--- Line 10 --
-string(12) " character. "
-int(445)
-bool(true)
-
--- Testing fgetss() with file opened using w+t mode --
-int(0)
-int(445)
-bool(false)
--- Reading line by line with allowable tags: <test>, <html>, <?> --
--- Line 1 --
-string(40) "<test>Testing fgetss() functions</test>
-"
-int(40)
-bool(false)
--- Line 2 --
-string(10) " {;} this
-"
-int(99)
-bool(false)
--- Line 3 --
-string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%&
-"
-int(152)
-bool(false)
--- Line 4 --
-string(21) "<html> html </html>
-"
-int(193)
-bool(false)
--- Line 5 --
-string(43) "this line is without any html and php tags
-"
-int(236)
-bool(false)
--- Line 6 --
-string(79) "this is a line with more than eighty character,want to check line splitting cor"
-int(315)
-bool(false)
--- Line 7 --
-string(27) "rectly after 80 characters
-"
-int(342)
-bool(false)
--- Line 8 --
-string(46) "this text contains some html tags body br
-"
-int(410)
-bool(false)
--- Line 9 --
-string(23) "this is the line with
-"
-int(433)
-bool(false)
--- Line 10 --
-string(12) " character. "
-int(445)
-bool(true)
-
--- Testing fgetss() with file opened using a+ mode --
-int(0)
-int(445)
-bool(false)
--- Reading line by line with allowable tags: <test>, <html>, <?> --
--- Line 1 --
-string(40) "<test>Testing fgetss() functions</test>
-"
-int(40)
-bool(false)
--- Line 2 --
-string(10) " {;} this
-"
-int(99)
-bool(false)
--- Line 3 --
-string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%&
-"
-int(152)
-bool(false)
--- Line 4 --
-string(21) "<html> html </html>
-"
-int(193)
-bool(false)
--- Line 5 --
-string(43) "this line is without any html and php tags
-"
-int(236)
-bool(false)
--- Line 6 --
-string(79) "this is a line with more than eighty character,want to check line splitting cor"
-int(315)
-bool(false)
--- Line 7 --
-string(27) "rectly after 80 characters
-"
-int(342)
-bool(false)
--- Line 8 --
-string(46) "this text contains some html tags body br
-"
-int(410)
-bool(false)
--- Line 9 --
-string(23) "this is the line with
-"
-int(433)
-bool(false)
--- Line 10 --
-string(12) " character. "
-int(445)
-bool(true)
-
--- Testing fgetss() with file opened using a+b mode --
-int(0)
-int(445)
-bool(false)
--- Reading line by line with allowable tags: <test>, <html>, <?> --
--- Line 1 --
-string(40) "<test>Testing fgetss() functions</test>
-"
-int(40)
-bool(false)
--- Line 2 --
-string(10) " {;} this
-"
-int(99)
-bool(false)
--- Line 3 --
-string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%&
-"
-int(152)
-bool(false)
--- Line 4 --
-string(21) "<html> html </html>
-"
-int(193)
-bool(false)
--- Line 5 --
-string(43) "this line is without any html and php tags
-"
-int(236)
-bool(false)
--- Line 6 --
-string(79) "this is a line with more than eighty character,want to check line splitting cor"
-int(315)
-bool(false)
--- Line 7 --
-string(27) "rectly after 80 characters
-"
-int(342)
-bool(false)
--- Line 8 --
-string(46) "this text contains some html tags body br
-"
-int(410)
-bool(false)
--- Line 9 --
-string(23) "this is the line with
-"
-int(433)
-bool(false)
--- Line 10 --
-string(12) " character. "
-int(445)
-bool(true)
-
--- Testing fgetss() with file opened using a+t mode --
-int(0)
-int(445)
-bool(false)
--- Reading line by line with allowable tags: <test>, <html>, <?> --
--- Line 1 --
-string(40) "<test>Testing fgetss() functions</test>
-"
-int(40)
-bool(false)
--- Line 2 --
-string(10) " {;} this
-"
-int(99)
-bool(false)
--- Line 3 --
-string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%&
-"
-int(152)
-bool(false)
--- Line 4 --
-string(21) "<html> html </html>
-"
-int(193)
-bool(false)
--- Line 5 --
-string(43) "this line is without any html and php tags
-"
-int(236)
-bool(false)
--- Line 6 --
-string(79) "this is a line with more than eighty character,want to check line splitting cor"
-int(315)
-bool(false)
--- Line 7 --
-string(27) "rectly after 80 characters
-"
-int(342)
-bool(false)
--- Line 8 --
-string(46) "this text contains some html tags body br
-"
-int(410)
-bool(false)
--- Line 9 --
-string(23) "this is the line with
-"
-int(433)
-bool(false)
--- Line 10 --
-string(12) " character. "
-int(445)
-bool(true)
-
--- Testing fgetss() with file opened using x+ mode --
-int(0)
-int(445)
-bool(false)
--- Reading line by line with allowable tags: <test>, <html>, <?> --
--- Line 1 --
-string(40) "<test>Testing fgetss() functions</test>
-"
-int(40)
-bool(false)
--- Line 2 --
-string(10) " {;} this
-"
-int(99)
-bool(false)
--- Line 3 --
-string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%&
-"
-int(152)
-bool(false)
--- Line 4 --
-string(21) "<html> html </html>
-"
-int(193)
-bool(false)
--- Line 5 --
-string(43) "this line is without any html and php tags
-"
-int(236)
-bool(false)
--- Line 6 --
-string(79) "this is a line with more than eighty character,want to check line splitting cor"
-int(315)
-bool(false)
--- Line 7 --
-string(27) "rectly after 80 characters
-"
-int(342)
-bool(false)
--- Line 8 --
-string(46) "this text contains some html tags body br
-"
-int(410)
-bool(false)
--- Line 9 --
-string(23) "this is the line with
-"
-int(433)
-bool(false)
--- Line 10 --
-string(12) " character. "
-int(445)
-bool(true)
-
--- Testing fgetss() with file opened using x+b mode --
-int(0)
-int(445)
-bool(false)
--- Reading line by line with allowable tags: <test>, <html>, <?> --
--- Line 1 --
-string(40) "<test>Testing fgetss() functions</test>
-"
-int(40)
-bool(false)
--- Line 2 --
-string(10) " {;} this
-"
-int(99)
-bool(false)
--- Line 3 --
-string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%&
-"
-int(152)
-bool(false)
--- Line 4 --
-string(21) "<html> html </html>
-"
-int(193)
-bool(false)
--- Line 5 --
-string(43) "this line is without any html and php tags
-"
-int(236)
-bool(false)
--- Line 6 --
-string(79) "this is a line with more than eighty character,want to check line splitting cor"
-int(315)
-bool(false)
--- Line 7 --
-string(27) "rectly after 80 characters
-"
-int(342)
-bool(false)
--- Line 8 --
-string(46) "this text contains some html tags body br
-"
-int(410)
-bool(false)
--- Line 9 --
-string(23) "this is the line with
-"
-int(433)
-bool(false)
--- Line 10 --
-string(12) " character. "
-int(445)
-bool(true)
-
--- Testing fgetss() with file opened using x+t mode --
-int(0)
-int(445)
-bool(false)
--- Reading line by line with allowable tags: <test>, <html>, <?> --
--- Line 1 --
-string(40) "<test>Testing fgetss() functions</test>
-"
-int(40)
-bool(false)
--- Line 2 --
-string(10) " {;} this
-"
-int(99)
-bool(false)
--- Line 3 --
-string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%&
-"
-int(152)
-bool(false)
--- Line 4 --
-string(21) "<html> html </html>
-"
-int(193)
-bool(false)
--- Line 5 --
-string(43) "this line is without any html and php tags
-"
-int(236)
-bool(false)
--- Line 6 --
-string(79) "this is a line with more than eighty character,want to check line splitting cor"
-int(315)
-bool(false)
--- Line 7 --
-string(27) "rectly after 80 characters
-"
-int(342)
-bool(false)
--- Line 8 --
-string(46) "this text contains some html tags body br
-"
-int(410)
-bool(false)
--- Line 9 --
-string(23) "this is the line with
-"
-int(433)
-bool(false)
--- Line 10 --
-string(12) " character. "
-int(445)
-bool(true)
-Done
+++ /dev/null
---TEST--
-Test fgetss() function : usage variations - read modes, file pointer at EOF
---SKIPIF--
-<?php
-if(substr(PHP_OS, 0, 3) == "WIN")
- die("skip not for Windows");
-?>
---FILE--
-<?php
-error_reporting(E_ALL & ~E_DEPRECATED);
-
-/*
- Prototype: string fgetss ( resource $handle [, int $length [, string $allowable_tags]] );
- Description: Gets line from file pointer and strip HTML tags
-*/
-
-// include the common file related test functions
-include ("file.inc");
-
-echo "*** Testing fgetss() : usage variations ***\n";
-
-/* string with html and php tags */
-$string_with_tags = <<<EOT
-<test>Testing fgetss() functions</test>
-<?php echo "this string is within php tag"; ?> {;}<{> this
-is a heredoc string. <pg>ksklnm@@$$&$&^%&^%&^%&</pg>
-<html> html </html> <?php echo "php"; ?>
-this line is without any html and php tags
-this is a line with more than eighty character,want to check line splitting correctly after 80 characters
-this is the text containing \r character
-this text contains some html tags <body> body </body> <br> br </br>
-this is the line with \n character.
-EOT;
-
-$filename = dirname(__FILE__)."/fgetss_variation4.tmp";
-
-/* try reading the file opened in different modes of reading */
-$file_modes = array("r","rb", "rt","r+", "r+b", "r+t");
-
-for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) {
- echo "\n-- Testing fgetss() with file opened using $file_modes[$mode_counter] mode --\n";
-
- /* create an empty file and write the strings with tags */
- create_file ($filename); //create an empty file
- file_put_contents($filename, $string_with_tags);
- $file_handle = fopen($filename, $file_modes[$mode_counter]);
- if(!$file_handle) {
- echo "Error: failed to open file $filename!\n";
- exit();
- }
-
- // rewind the file pointer to beginning of the file
- var_dump( filesize($filename) );
- var_dump( rewind($file_handle) );
- var_dump( ftell($file_handle) );
- var_dump( feof($file_handle) );
-
- echo "-- Reading when file pointer points to EOF --\n";
- var_dump( fseek($file_handle,0,SEEK_END) ); // now file pointer at end
- var_dump( ftell($file_handle) ); //ensure file pointer at end
- var_dump( fgetss($file_handle) ); // try to read
- var_dump( ftell($file_handle) ); // find out file position
- var_dump( feof($file_handle) ); // ensure that file pointer is at eof
-
- // now file is at the end try reading with length and allowable tags,expecting false
- var_dump( fgetss($file_handle, 80, "<test>, <html>, <?>") );
- var_dump( ftell($file_handle) ); // find out file position
- var_dump( feof($file_handle) ); // ensure that file pointer is at eof
-
- // close the file
- fclose($file_handle);
- // delete the file
- delete_file($filename);
-} // end of for - mode_counter
-
-echo "Done\n";
-?>
---EXPECT--
-*** Testing fgetss() : usage variations ***
-
--- Testing fgetss() with file opened using r mode --
-int(486)
-bool(true)
-int(0)
-bool(false)
--- Reading when file pointer points to EOF --
-int(0)
-int(486)
-bool(false)
-int(486)
-bool(true)
-bool(false)
-int(486)
-bool(true)
-
--- Testing fgetss() with file opened using rb mode --
-int(486)
-bool(true)
-int(0)
-bool(false)
--- Reading when file pointer points to EOF --
-int(0)
-int(486)
-bool(false)
-int(486)
-bool(true)
-bool(false)
-int(486)
-bool(true)
-
--- Testing fgetss() with file opened using rt mode --
-int(486)
-bool(true)
-int(0)
-bool(false)
--- Reading when file pointer points to EOF --
-int(0)
-int(486)
-bool(false)
-int(486)
-bool(true)
-bool(false)
-int(486)
-bool(true)
-
--- Testing fgetss() with file opened using r+ mode --
-int(486)
-bool(true)
-int(0)
-bool(false)
--- Reading when file pointer points to EOF --
-int(0)
-int(486)
-bool(false)
-int(486)
-bool(true)
-bool(false)
-int(486)
-bool(true)
-
--- Testing fgetss() with file opened using r+b mode --
-int(486)
-bool(true)
-int(0)
-bool(false)
--- Reading when file pointer points to EOF --
-int(0)
-int(486)
-bool(false)
-int(486)
-bool(true)
-bool(false)
-int(486)
-bool(true)
-
--- Testing fgetss() with file opened using r+t mode --
-int(486)
-bool(true)
-int(0)
-bool(false)
--- Reading when file pointer points to EOF --
-int(0)
-int(486)
-bool(false)
-int(486)
-bool(true)
-bool(false)
-int(486)
-bool(true)
-Done
+++ /dev/null
---TEST--
-Test fgetss() function : usage variations - read/write modes, file pointer at EOF
---SKIPIF--
-<?php
-if (substr(PHP_OS, 0, 3) != 'WIN') {
- die('skip.. only valid for Windows');
-}
-?>
---FILE--
-<?php
-error_reporting(E_ALL & ~E_DEPRECATED);
-
-/*
- Prototype: string fgetss ( resource $handle [, int $length [, string $allowable_tags]] );
- Description: Gets line from file pointer and strip HTML tags
-*/
-
-/* try fgetss on files which are opened in read/write modes
- w+, w+b, w+t,
- a+, a+b, a+t,
- x+, x+b, x+t
-*/
-
-
-echo "*** Testing fgetss() : usage variations ***\n";
-
-/* string with html and php tags */
-$string_with_tags = <<<EOT
-<test>Testing fgetss() functions</test>
-<?php echo "this string is within php tag"; ?> {;}<{> this
-is a heredoc string. <pg>ksklnm@@$$&$&^%&^%&^%&</pg>
-<html> html </html> <?php echo "php"; ?>
-this line is without any html and php tags
-this is a line with more than eighty character,want to check line splitting correctly after 80 characters
-this text contains some html tags <body> body </body> <br> br </br>
-this is the line with \n character.
-EOT;
-if(substr(PHP_OS, 0, 3) == "WIN") {
- $string_with_tags = str_replace("\r",'', $string_with_tags);
-}
-
-$filename = dirname(__FILE__)."/fgetss_variation5.tmp";
-
-/* try reading the file opened in different modes of reading */
-$file_modes = array("w+","w+b", "w+t","a+", "a+b", "a+t","x+","x+b","x+t");
-
-for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) {
- echo "\n-- Testing fgetss() with file opened using $file_modes[$mode_counter] mode --\n";
-
- /* create an empty file and write the strings with tags */
- $file_handle = fopen($filename, $file_modes[$mode_counter]);
- fwrite($file_handle,$string_with_tags); //writing data to the file
- if(!$file_handle) {
- echo "Error: failed to open file $filename!\n";
- exit();
- }
- // rewind the file pointer to beginning of the file
- var_dump( filesize($filename) );
- var_dump( rewind($file_handle) );
- var_dump( ftell($file_handle) );
- var_dump( feof($file_handle) );
-
- echo "-- Reading when file pointer points to EOF --\n";
- var_dump( fseek($file_handle,0,SEEK_END) ); // now file pointer at end
- var_dump( ftell($file_handle) ); //ensure file pointer at end
- var_dump( fgetss($file_handle) ); // try to read
- var_dump( ftell($file_handle) ); // find out file position
- var_dump( feof($file_handle) ); // ensure that file pointer is at eof
-
- // now file is at the end try reading with length and allowable tags,expecting false
- var_dump( fgetss($file_handle, 80, "<test>, <html>, <?>") );
- var_dump( ftell($file_handle) ); // find out file position
- var_dump( feof($file_handle) ); // ensure that file pointer is at eof
-
-
- // close the file
- fclose($file_handle);
-
- // delete the file
- unlink($filename);
-} // end of for - mode_counter
-
-echo "Done\n";
-?>
---EXPECT--
-*** Testing fgetss() : usage variations ***
-
--- Testing fgetss() with file opened using w+ mode --
-int(445)
-bool(true)
-int(0)
-bool(false)
--- Reading when file pointer points to EOF --
-int(0)
-int(445)
-bool(false)
-int(445)
-bool(true)
-bool(false)
-int(445)
-bool(true)
-
--- Testing fgetss() with file opened using w+b mode --
-int(445)
-bool(true)
-int(0)
-bool(false)
--- Reading when file pointer points to EOF --
-int(0)
-int(445)
-bool(false)
-int(445)
-bool(true)
-bool(false)
-int(445)
-bool(true)
-
--- Testing fgetss() with file opened using w+t mode --
-int(453)
-bool(true)
-int(0)
-bool(false)
--- Reading when file pointer points to EOF --
-int(0)
-int(453)
-bool(false)
-int(453)
-bool(true)
-bool(false)
-int(453)
-bool(true)
-
--- Testing fgetss() with file opened using a+ mode --
-int(445)
-bool(true)
-int(0)
-bool(false)
--- Reading when file pointer points to EOF --
-int(0)
-int(445)
-bool(false)
-int(445)
-bool(true)
-bool(false)
-int(445)
-bool(true)
-
--- Testing fgetss() with file opened using a+b mode --
-int(445)
-bool(true)
-int(0)
-bool(false)
--- Reading when file pointer points to EOF --
-int(0)
-int(445)
-bool(false)
-int(445)
-bool(true)
-bool(false)
-int(445)
-bool(true)
-
--- Testing fgetss() with file opened using a+t mode --
-int(453)
-bool(true)
-int(0)
-bool(false)
--- Reading when file pointer points to EOF --
-int(0)
-int(453)
-bool(false)
-int(453)
-bool(true)
-bool(false)
-int(453)
-bool(true)
-
--- Testing fgetss() with file opened using x+ mode --
-int(445)
-bool(true)
-int(0)
-bool(false)
--- Reading when file pointer points to EOF --
-int(0)
-int(445)
-bool(false)
-int(445)
-bool(true)
-bool(false)
-int(445)
-bool(true)
-
--- Testing fgetss() with file opened using x+b mode --
-int(445)
-bool(true)
-int(0)
-bool(false)
--- Reading when file pointer points to EOF --
-int(0)
-int(445)
-bool(false)
-int(445)
-bool(true)
-bool(false)
-int(445)
-bool(true)
-
--- Testing fgetss() with file opened using x+t mode --
-int(453)
-bool(true)
-int(0)
-bool(false)
--- Reading when file pointer points to EOF --
-int(0)
-int(453)
-bool(false)
-int(453)
-bool(true)
-bool(false)
-int(453)
-bool(true)
-Done
+++ /dev/null
---TEST--
-Test fgetss() function : usage variations - read/write modes, file pointer at EOF
---SKIPIF--
-<?php
-if (substr(PHP_OS, 0, 3) == 'WIN') {
- die('skip.. Not valid for Windows');
-}
-?>
---FILE--
-<?php
-error_reporting(E_ALL & ~E_DEPRECATED);
-
-/*
- Prototype: string fgetss ( resource $handle [, int $length [, string $allowable_tags]] );
- Description: Gets line from file pointer and strip HTML tags
-*/
-
-/* try fgetss on files which are opened in read/write modes
- w+, w+b, w+t,
- a+, a+b, a+t,
- x+, x+b, x+t
-*/
-
-
-echo "*** Testing fgetss() : usage variations ***\n";
-
-/* string with html and php tags */
-$string_with_tags = <<<EOT
-<test>Testing fgetss() functions</test>
-<?php echo "this string is within php tag"; ?> {;}<{> this
-is a heredoc string. <pg>ksklnm@@$$&$&^%&^%&^%&</pg>
-<html> html </html> <?php echo "php"; ?>
-this line is without any html and php tags
-this is a line with more than eighty character,want to check line splitting correctly after 80 characters
-this text contains some html tags <body> body </body> <br> br </br>
-this is the line with \n character.
-EOT;
-
-$filename = dirname(__FILE__)."/fgetss_variation5.tmp";
-
-/* try reading the file opened in different modes of reading */
-$file_modes = array("w+","w+b", "w+t","a+", "a+b", "a+t","x+","x+b","x+t");
-
-for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) {
- echo "\n-- Testing fgetss() with file opened using $file_modes[$mode_counter] mode --\n";
-
- /* create an empty file and write the strings with tags */
- $file_handle = fopen($filename, $file_modes[$mode_counter]);
- fwrite($file_handle,$string_with_tags); //writing data to the file
- if(!$file_handle) {
- echo "Error: failed to open file $filename!\n";
- exit();
- }
- // rewind the file pointer to beginning of the file
- var_dump( filesize($filename) );
- var_dump( rewind($file_handle) );
- var_dump( ftell($file_handle) );
- var_dump( feof($file_handle) );
-
- echo "-- Reading when file pointer points to EOF --\n";
- var_dump( fseek($file_handle,0,SEEK_END) ); // now file pointer at end
- var_dump( ftell($file_handle) ); //ensure file pointer at end
- var_dump( fgetss($file_handle) ); // try to read
- var_dump( ftell($file_handle) ); // find out file position
- var_dump( feof($file_handle) ); // ensure that file pointer is at eof
-
- // now file is at the end try reading with length and allowable tags,expecting false
- var_dump( fgetss($file_handle, 80, "<test>, <html>, <?>") );
- var_dump( ftell($file_handle) ); // find out file position
- var_dump( feof($file_handle) ); // ensure that file pointer is at eof
-
-
- // close the file
- fclose($file_handle);
-
- // delete the file
- unlink($filename);
-} // end of for - mode_counter
-
-echo "Done\n";
-?>
---EXPECT--
-*** Testing fgetss() : usage variations ***
-
--- Testing fgetss() with file opened using w+ mode --
-int(445)
-bool(true)
-int(0)
-bool(false)
--- Reading when file pointer points to EOF --
-int(0)
-int(445)
-bool(false)
-int(445)
-bool(true)
-bool(false)
-int(445)
-bool(true)
-
--- Testing fgetss() with file opened using w+b mode --
-int(445)
-bool(true)
-int(0)
-bool(false)
--- Reading when file pointer points to EOF --
-int(0)
-int(445)
-bool(false)
-int(445)
-bool(true)
-bool(false)
-int(445)
-bool(true)
-
--- Testing fgetss() with file opened using w+t mode --
-int(445)
-bool(true)
-int(0)
-bool(false)
--- Reading when file pointer points to EOF --
-int(0)
-int(445)
-bool(false)
-int(445)
-bool(true)
-bool(false)
-int(445)
-bool(true)
-
--- Testing fgetss() with file opened using a+ mode --
-int(445)
-bool(true)
-int(0)
-bool(false)
--- Reading when file pointer points to EOF --
-int(0)
-int(445)
-bool(false)
-int(445)
-bool(true)
-bool(false)
-int(445)
-bool(true)
-
--- Testing fgetss() with file opened using a+b mode --
-int(445)
-bool(true)
-int(0)
-bool(false)
--- Reading when file pointer points to EOF --
-int(0)
-int(445)
-bool(false)
-int(445)
-bool(true)
-bool(false)
-int(445)
-bool(true)
-
--- Testing fgetss() with file opened using a+t mode --
-int(445)
-bool(true)
-int(0)
-bool(false)
--- Reading when file pointer points to EOF --
-int(0)
-int(445)
-bool(false)
-int(445)
-bool(true)
-bool(false)
-int(445)
-bool(true)
-
--- Testing fgetss() with file opened using x+ mode --
-int(445)
-bool(true)
-int(0)
-bool(false)
--- Reading when file pointer points to EOF --
-int(0)
-int(445)
-bool(false)
-int(445)
-bool(true)
-bool(false)
-int(445)
-bool(true)
-
--- Testing fgetss() with file opened using x+b mode --
-int(445)
-bool(true)
-int(0)
-bool(false)
--- Reading when file pointer points to EOF --
-int(0)
-int(445)
-bool(false)
-int(445)
-bool(true)
-bool(false)
-int(445)
-bool(true)
-
--- Testing fgetss() with file opened using x+t mode --
-int(445)
-bool(true)
-int(0)
-bool(false)
--- Reading when file pointer points to EOF --
-int(0)
-int(445)
-bool(false)
-int(445)
-bool(true)
-bool(false)
-int(445)
-bool(true)
-Done
+++ /dev/null
---TEST--
-string.strip_tags filter
---FILE--
-<?php
-$fp = fopen('php://output', 'w');
-stream_filter_append($fp, 'string.strip_tags');
-fwrite($fp, "test <b>bold</b> <i>italic</i> test\n");
-fclose($fp);
-
-$fp = fopen('php://output', 'w');
-stream_filter_append($fp, 'string.strip_tags', STREAM_FILTER_WRITE, "<b>");
-fwrite($fp, "test <b>bold</b> <i>italic</i> test\n");
-fclose($fp);
-
-$fp = fopen('php://output', 'w');
-stream_filter_append($fp, 'string.strip_tags', STREAM_FILTER_WRITE, ["b"]);
-fwrite($fp, "test <b>bold</b> <i>italic</i> test\n");
-fclose($fp);
-
-?>
---EXPECTF--
-Deprecated: stream_filter_append(): The string.strip_tags filter is deprecated in %s on line %d
-test bold italic test
-
-Deprecated: stream_filter_append(): The string.strip_tags filter is deprecated in %s on line %d
-test <b>bold</b> italic test
-
-Deprecated: stream_filter_append(): The string.strip_tags filter is deprecated in %s on line %d
-test <b>bold</b> italic test
+++ /dev/null
---TEST--
-gzgetss — Get line from gz-file pointer and strip HTML tags - function
---CREDITS--
-marcosptf - <marcosptf@yahoo.com.br>
---SKIPIF--
-<?php
-if(!extension_loaded("zlib")){die("skip - ZLIB extension not loaded");}
-?>
---FILE--
-<?php
-$handle = gzopen(__DIR__ . '/gzgetss.gz', 'r');
-
-while (!gzeof($handle)){
- $buffer = gzgetss($handle, 4096, "<code>");
- print($buffer);
-}
-gzclose($handle);
-?>
---EXPECTF--
-Deprecated: Function gzgetss() is deprecated in %s on line %d
-
-
-Deprecated: Function gzgetss() is deprecated in %s on line %d
-
-
-Deprecated: Function gzgetss() is deprecated in %s on line %d
- <code>stringgzgetss(resource $zp, int $length [, string $allowable_tags ]);<code/>
-
-Deprecated: Function gzgetss() is deprecated in %s on line %d
-
-
-Deprecated: Function gzgetss() is deprecated in %s on line %d
ZEND_ARG_INFO(0, length)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_gzgetss, 0, 0, 1)
- ZEND_ARG_INFO(0, fp)
- ZEND_ARG_INFO(0, length)
- ZEND_ARG_INFO(0, allowable_tags)
-ZEND_END_ARG_INFO()
-
ZEND_BEGIN_ARG_INFO_EX(arginfo_gzgets, 0, 0, 1)
ZEND_ARG_INFO(0, fp)
ZEND_ARG_INFO(0, length)
PHP_FALIAS(gzeof, feof, arginfo_gzpassthru)
PHP_FALIAS(gzgetc, fgetc, arginfo_gzpassthru)
PHP_FALIAS(gzgets, fgets, arginfo_gzgets)
- PHP_DEP_FALIAS(gzgetss, fgetss, arginfo_gzgetss)
PHP_FALIAS(gzread, fread, arginfo_gzread)
PHP_FE(gzopen, arginfo_gzopen)
PHP_FALIAS(gzpassthru, fpassthru, arginfo_gzpassthru)