mirror of
https://github.com/php/php-src.git
synced 2024-10-19 15:34:25 +00:00
543 lines
11 KiB
PHP
543 lines
11 KiB
PHP
--TEST--
|
|
Test fgetc() function : basic functionality
|
|
--FILE--
|
|
<?php
|
|
/*
|
|
Prototype: string fgetc ( resource $handle );
|
|
Description: Gets character from file pointer
|
|
*/
|
|
// include the header for common test function
|
|
include ("file.inc");
|
|
|
|
echo "*** Testing fgetc() : basic operations ***\n";
|
|
/* read charecter from different files which are opened in different modes */
|
|
$file_modes = array( "r", "rb", "rt", "r+", "r+b", "r+t");
|
|
|
|
/* create file with following type of contents */
|
|
$file_content_types = array("numeric", "text", "text_with_new_line");
|
|
|
|
for($outerloop_counter = 0; $outerloop_counter < count($file_content_types); $outerloop_counter++) {
|
|
echo "--- Outerloop iteration ";
|
|
echo $outerloop_counter + 1;
|
|
echo " ---\n";
|
|
// create file file
|
|
create_files(dirname(__FILE__), 1, $file_content_types[$outerloop_counter], 0755, 1, "w", "fgetc_basic", 1);
|
|
|
|
//open the file in different modes and check the working of fgetc
|
|
for($innerloop_counter = 0; $innerloop_counter < count($file_modes); $innerloop_counter++) {
|
|
echo "-- Innerloop iteration ";
|
|
echo $innerloop_counter + 1;
|
|
echo " of Outerloop Iteration ";
|
|
echo $outerloop_counter + 1;
|
|
echo " --\n";
|
|
|
|
// open the file using the $file_modes
|
|
$filename = dirname(__FILE__)."/fgetc_basic1.tmp"; // file name that is created by create_files
|
|
echo "-- Testing fgetc() : file opened using $file_modes[$innerloop_counter] mode --\n";
|
|
$file_handle = fopen($filename, $file_modes[$innerloop_counter]);
|
|
if ( !$file_handle ) {
|
|
echo "Error: failed to open file $filename!";
|
|
exit();
|
|
}
|
|
|
|
// perform the read file at least 6 char and check
|
|
for( $counter = 1; $counter <= 6; $counter++ ) {
|
|
// read data from the file and check, file pointer position, feof etc
|
|
var_dump( fgetc($file_handle) ); // read a char
|
|
var_dump( ftell($file_handle) ); // file pointer position
|
|
var_dump( feof($file_handle) ); // is it eof()
|
|
var_dump($file_handle); // dump the $file_handle to see if any thing got modifed
|
|
} // end of for
|
|
|
|
// close the file
|
|
fclose ( $file_handle);
|
|
|
|
} // end of innerloop for
|
|
|
|
// delete the file
|
|
delete_files(dirname(__FILE__), 1, "fgetc_basic", 1, ".tmp");
|
|
|
|
} // end of outerloop for
|
|
|
|
echo "Done\n";
|
|
?>
|
|
--EXPECTF--
|
|
*** Testing fgetc() : basic operations ***
|
|
--- Outerloop iteration 1 ---
|
|
-- Innerloop iteration 1 of Outerloop Iteration 1 --
|
|
-- Testing fgetc() : file opened using r mode --
|
|
string(1) "2"
|
|
int(1)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "2"
|
|
int(2)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "2"
|
|
int(3)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "2"
|
|
int(4)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "2"
|
|
int(5)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "2"
|
|
int(6)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
-- Innerloop iteration 2 of Outerloop Iteration 1 --
|
|
-- Testing fgetc() : file opened using rb mode --
|
|
string(1) "2"
|
|
int(1)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "2"
|
|
int(2)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "2"
|
|
int(3)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "2"
|
|
int(4)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "2"
|
|
int(5)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "2"
|
|
int(6)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
-- Innerloop iteration 3 of Outerloop Iteration 1 --
|
|
-- Testing fgetc() : file opened using rt mode --
|
|
string(1) "2"
|
|
int(1)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "2"
|
|
int(2)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "2"
|
|
int(3)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "2"
|
|
int(4)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "2"
|
|
int(5)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "2"
|
|
int(6)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
-- Innerloop iteration 4 of Outerloop Iteration 1 --
|
|
-- Testing fgetc() : file opened using r+ mode --
|
|
string(1) "2"
|
|
int(1)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "2"
|
|
int(2)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "2"
|
|
int(3)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "2"
|
|
int(4)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "2"
|
|
int(5)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "2"
|
|
int(6)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
-- Innerloop iteration 5 of Outerloop Iteration 1 --
|
|
-- Testing fgetc() : file opened using r+b mode --
|
|
string(1) "2"
|
|
int(1)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "2"
|
|
int(2)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "2"
|
|
int(3)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "2"
|
|
int(4)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "2"
|
|
int(5)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "2"
|
|
int(6)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
-- Innerloop iteration 6 of Outerloop Iteration 1 --
|
|
-- Testing fgetc() : file opened using r+t mode --
|
|
string(1) "2"
|
|
int(1)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "2"
|
|
int(2)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "2"
|
|
int(3)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "2"
|
|
int(4)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "2"
|
|
int(5)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "2"
|
|
int(6)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
--- Outerloop iteration 2 ---
|
|
-- Innerloop iteration 1 of Outerloop Iteration 2 --
|
|
-- Testing fgetc() : file opened using r mode --
|
|
string(1) "t"
|
|
int(1)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "e"
|
|
int(2)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "x"
|
|
int(3)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "t"
|
|
int(4)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) " "
|
|
int(5)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "t"
|
|
int(6)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
-- Innerloop iteration 2 of Outerloop Iteration 2 --
|
|
-- Testing fgetc() : file opened using rb mode --
|
|
string(1) "t"
|
|
int(1)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "e"
|
|
int(2)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "x"
|
|
int(3)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "t"
|
|
int(4)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) " "
|
|
int(5)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "t"
|
|
int(6)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
-- Innerloop iteration 3 of Outerloop Iteration 2 --
|
|
-- Testing fgetc() : file opened using rt mode --
|
|
string(1) "t"
|
|
int(1)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "e"
|
|
int(2)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "x"
|
|
int(3)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "t"
|
|
int(4)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) " "
|
|
int(5)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "t"
|
|
int(6)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
-- Innerloop iteration 4 of Outerloop Iteration 2 --
|
|
-- Testing fgetc() : file opened using r+ mode --
|
|
string(1) "t"
|
|
int(1)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "e"
|
|
int(2)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "x"
|
|
int(3)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "t"
|
|
int(4)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) " "
|
|
int(5)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "t"
|
|
int(6)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
-- Innerloop iteration 5 of Outerloop Iteration 2 --
|
|
-- Testing fgetc() : file opened using r+b mode --
|
|
string(1) "t"
|
|
int(1)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "e"
|
|
int(2)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "x"
|
|
int(3)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "t"
|
|
int(4)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) " "
|
|
int(5)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "t"
|
|
int(6)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
-- Innerloop iteration 6 of Outerloop Iteration 2 --
|
|
-- Testing fgetc() : file opened using r+t mode --
|
|
string(1) "t"
|
|
int(1)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "e"
|
|
int(2)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "x"
|
|
int(3)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "t"
|
|
int(4)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) " "
|
|
int(5)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "t"
|
|
int(6)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
--- Outerloop iteration 3 ---
|
|
-- Innerloop iteration 1 of Outerloop Iteration 3 --
|
|
-- Testing fgetc() : file opened using r mode --
|
|
string(1) "l"
|
|
int(1)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "i"
|
|
int(2)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "n"
|
|
int(3)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "e"
|
|
int(4)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "
|
|
"
|
|
int(5)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "l"
|
|
int(6)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
-- Innerloop iteration 2 of Outerloop Iteration 3 --
|
|
-- Testing fgetc() : file opened using rb mode --
|
|
string(1) "l"
|
|
int(1)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "i"
|
|
int(2)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "n"
|
|
int(3)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "e"
|
|
int(4)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "
|
|
"
|
|
int(5)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "l"
|
|
int(6)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
-- Innerloop iteration 3 of Outerloop Iteration 3 --
|
|
-- Testing fgetc() : file opened using rt mode --
|
|
string(1) "l"
|
|
int(1)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "i"
|
|
int(2)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "n"
|
|
int(3)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "e"
|
|
int(4)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "
|
|
"
|
|
int(5)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "l"
|
|
int(6)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
-- Innerloop iteration 4 of Outerloop Iteration 3 --
|
|
-- Testing fgetc() : file opened using r+ mode --
|
|
string(1) "l"
|
|
int(1)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "i"
|
|
int(2)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "n"
|
|
int(3)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "e"
|
|
int(4)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "
|
|
"
|
|
int(5)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "l"
|
|
int(6)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
-- Innerloop iteration 5 of Outerloop Iteration 3 --
|
|
-- Testing fgetc() : file opened using r+b mode --
|
|
string(1) "l"
|
|
int(1)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "i"
|
|
int(2)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "n"
|
|
int(3)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "e"
|
|
int(4)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "
|
|
"
|
|
int(5)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "l"
|
|
int(6)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
-- Innerloop iteration 6 of Outerloop Iteration 3 --
|
|
-- Testing fgetc() : file opened using r+t mode --
|
|
string(1) "l"
|
|
int(1)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "i"
|
|
int(2)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "n"
|
|
int(3)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "e"
|
|
int(4)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "
|
|
"
|
|
int(5)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
string(1) "l"
|
|
int(6)
|
|
bool(false)
|
|
resource(%d) of type (stream)
|
|
Done
|