New testcases for fscanf() function

This commit is contained in:
Raghubansh Kumar 2007-08-10 17:54:48 +00:00
parent 7893178d8d
commit ceeeed9d19
56 changed files with 35778 additions and 0 deletions

View File

@ -0,0 +1,99 @@
--TEST--
Test fscanf() function: error conditions
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
echo "*** Testing fscanf() for error conditions ***\n";
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_error.tmp";
$file_handle = fopen($filename, 'w');
if ($file_handle == false)
exit("Error:failed to open file $filename");
fwrite($file_handle, "hello world");
fclose($file_handle);
// zero argument
var_dump( fscanf() );
// single argument
$file_handle = fopen($filename, 'r');
if ($file_handle == false)
exit("Error:failed to open file $filename");
var_dump( fscanf($file_handle) );
fclose($file_handle);
// invalid file handle
var_dump( fscanf($file_handle, "%s") );
// number of formats in format strings not matching the no of variables
$file_handle = fopen($filename, 'r');
if ($file_handle == false)
exit("Error:failed to open file $filename");
var_dump( fscanf($file_handle, "%d%s%f", $int_var, $string_var) );
fclose($file_handle);
// different invalid format strings
$invalid_formats = array( $undefined_var, undefined_constant,
"%", "%h", "%.", "%d%m"
);
// looping to use various invalid formats with fscanf()
foreach($invalid_formats as $format) {
$file_handle = fopen($filename, 'r');
if ($file_handle == false)
exit("Error:failed to open file $filename");
var_dump( fscanf($file_handle, $format) );
fclose($file_handle);
}
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_error.tmp";
unlink($filename);
?>
--EXPECTF--
*** Testing fscanf() for error conditions ***
Warning: Wrong parameter count for fscanf() in %s on line %d
NULL
Warning: Wrong parameter count for fscanf() in %s on line %d
NULL
Warning: fscanf(): %d is not a valid File-Handle resource in %s on line %d
bool(false)
Warning: fscanf(): Different numbers of variable names and field specifiers in %s on line %d
int(-1)
Notice: Undefined variable: undefined_var in %s on line %d
Notice: Use of undefined constant undefined_constant - assumed 'undefined_constant' in %s on line %d
array(0) {
}
array(0) {
}
Warning: fscanf(): Bad scan conversion character " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character "." in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character "m" in %s on line %d
NULL
*** Done ***

View File

@ -0,0 +1,49 @@
--TEST--
Test fscanf() function: usage variations - return type without third argument
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* test fscanf() for its return type */
$file_path = dirname(__FILE__);
echo "*** Testing fscanf(): for its return type without third argument ***\n";
// create a file
$filename = "$file_path/fscanf_variation1.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
fwrite($file_handle, "hello_world ");
fwrite($file_handle, 12345);
fclose($file_handle);
// open file for reading
$file_handle = fopen($filename, "r");
// capturing the return value from fscanf() called without third argument
$return_value = fscanf($file_handle, "%s");
var_dump( is_array($return_value), $return_value); // return type is an array
fclose($file_handle);
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation1.tmp";
unlink($filename);
?>
--EXPECTF--
*** Testing fscanf(): for its return type without third argument ***
bool(true)
array(1) {
[0]=>
string(11) "hello_world"
}
*** Done ***

View File

@ -0,0 +1,221 @@
--TEST--
Test fscanf() function: usage variations - float formats with resource
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan resource type using different float format types */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): different float format types with resource ***\n";
// create a file
$filename = "$file_path/fscanf_variation10.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
// resource type variable
$fp = fopen (__FILE__, "r");
$dfp = opendir ( dirname(__FILE__) );
// array of resource types
$resource_types = array (
$fp,
$dfp
);
$float_formats = array( "%f",
"%hf", "%lf", "%Lf",
" %f", "%f ", "% f",
"\t%f", "\n%f", "%4f",
"%30f", "%[0-9]", "%*f"
);
$counter = 1;
// writing to the file
foreach($resource_types as $value) {
fprintf($file_handle, $value);
fprintf($file_handle, "\n");
}
// closing the file
fclose($file_handle);
// opening the file for reading
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
$counter = 1;
// reading the values from file using different formats formats
foreach($float_formats as $float_format) {
// rewind the file so that for every foreach iteration the file pointer starts from bof
rewind($file_handle);
echo "\n-- iteration $counter --\n";
while( !feof($file_handle) ) {
var_dump( fscanf($file_handle,$float_format) );
}
$counter++;
}
// closing the resources
fclose($fp);
fclose($dfp);
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation10.tmp";
unlink($filename);
?>
--EXPECTF--
*** Test fscanf(): different float format types with resource ***
-- iteration 1 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 2 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 3 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 4 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 5 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 6 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 7 --
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
bool(false)
-- iteration 8 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 9 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 10 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 11 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 12 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 13 --
array(0) {
}
array(0) {
}
bool(false)
*** Done ***

View File

@ -0,0 +1,736 @@
--TEST--
Test fscanf() function: usage variations - float formats with arrays
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan arrays using different float format types */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): different float format types with arrays ***\n";
// create a file
$filename = "$file_path/fscanf_variation11.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
// array types
$array_types = array (
array(),
array(0),
array(1),
array(NULL),
array(null),
array("string"),
array(true),
array(TRUE),
array(false),
array(FALSE),
array(1,2,3,4),
array(1 => "One", "two" => 2)
);
$float_formats = array( "%f",
"%hf", "%lf", "%Lf",
" %f", "%f ", "% f",
"\t%f", "\n%f", "%4f",
"%30f", "%[0-9]", "%*f"
);
$counter = 1;
// writing to the file
foreach($array_types as $value) {
fprintf($file_handle, $value);
fprintf($file_handle, "\n");
}
// closing the file
fclose($file_handle);
// opening the file for reading
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
$counter = 1;
// reading the values from file using different float formats
foreach($float_formats as $float_format) {
// rewind the file so that for every foreach iteration the file pointer starts from bof
rewind($file_handle);
echo "\n-- iteration $counter --\n";
while( !feof($file_handle) ) {
var_dump( fscanf($file_handle,$float_format) );
}
$counter++;
}
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation11.tmp";
unlink($filename);
?>
--EXPECTF--
*** Test fscanf(): different float format types with arrays ***
Notice: Array to string conversion in %s on line %d
Notice: Array to string conversion in %s on line %d
Notice: Array to string conversion in %s on line %d
Notice: Array to string conversion in %s on line %d
Notice: Array to string conversion in %s on line %d
Notice: Array to string conversion in %s on line %d
Notice: Array to string conversion in %s on line %d
Notice: Array to string conversion in %s on line %d
Notice: Array to string conversion in %s on line %d
Notice: Array to string conversion in %s on line %d
Notice: Array to string conversion in %s on line %d
Notice: Array to string conversion in %s on line %d
-- iteration 1 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 2 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 3 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 4 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 5 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 6 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 7 --
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
bool(false)
-- iteration 8 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 9 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 10 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 11 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 12 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 13 --
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
bool(false)
*** Done ***

View File

@ -0,0 +1,945 @@
--TEST--
Test fscanf() function: usage variations - float formats with strings
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan strings using different float format types */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): different float format types with strings ***\n";
// create a file
$filename = "$file_path/fscanf_variation12.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
// array of strings
$strings = array (
"",
'',
"0",
'0',
"1",
'1',
"\x01",
'\x01',
"\01",
'\01',
'string',
"string",
"true",
"FALSE",
'false',
'TRUE',
"NULL",
'null'
);
$float_formats = array( "%f", "%hf", "%lf", "%Lf", " %f", "%f ", "% f", "\t%f", "\n%f", "%4f", "%30f", "%[0-9]", "%*f");
$counter = 1;
// writing to the file
foreach($strings as $string) {
fprintf($file_handle, $string);
fprintf($file_handle, "\n");
}
// closing the file
fclose($file_handle);
// opening the file for reading
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
$counter = 1;
// reading the values from file using different float formats
foreach($float_formats as $float_format) {
// rewind the file so that for every foreach iteration the file pointer starts from bof
rewind($file_handle);
echo "\n-- iteration $counter --\n";
while( !feof($file_handle) ) {
var_dump( fscanf($file_handle,$float_format) );
}
$counter++;
}
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation12.tmp";
unlink($filename);
?>
--EXPECTF--
*** Test fscanf(): different float format types with strings ***
-- iteration 1 --
NULL
NULL
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 2 --
NULL
NULL
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 3 --
NULL
NULL
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 4 --
NULL
NULL
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 5 --
NULL
NULL
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 6 --
NULL
NULL
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 7 --
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
bool(false)
-- iteration 8 --
NULL
NULL
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 9 --
NULL
NULL
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 10 --
NULL
NULL
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 11 --
NULL
NULL
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 12 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 13 --
NULL
NULL
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
bool(false)
*** Done ***

View File

@ -0,0 +1,245 @@
--TEST--
Test fscanf() function: usage variations - float formats with boolean
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan boolean data using different float format types */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): different float format types with boolean data ***\n";
// create a file
$filename = "$file_path/fscanf_variation13.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
// array of boolean types
$bool_types = array (
true,
false,
TRUE,
FALSE,
);
$float_formats = array( "%f", "%hf", "%lf", "%Lf", " %f", "%f ", "% f", "\t%f", "\n%f", "%4f", "%30f", "%[0-9]", "%*f");
$counter = 1;
// writing to the file
foreach($bool_types as $value) {
fprintf($file_handle, $value);
fprintf($file_handle, "\n");
}
// closing the file
fclose($file_handle);
// opening the file for reading
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
$counter = 1;
// reading the values from file using different float formats
foreach($float_formats as $float_format) {
// rewind the file so that for every foreach iteration the file pointer starts from bof
rewind($file_handle);
echo "\n-- iteration $counter --\n";
while( !feof($file_handle) ) {
var_dump( fscanf($file_handle,$float_format) );
}
$counter++;
}
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation13.tmp";
unlink($filename);
?>
--EXPECTF--
*** Test fscanf(): different float format types with boolean data ***
-- iteration 1 --
array(1) {
[0]=>
float(1)
}
NULL
array(1) {
[0]=>
float(1)
}
NULL
bool(false)
-- iteration 2 --
array(1) {
[0]=>
float(1)
}
NULL
array(1) {
[0]=>
float(1)
}
NULL
bool(false)
-- iteration 3 --
array(1) {
[0]=>
float(1)
}
NULL
array(1) {
[0]=>
float(1)
}
NULL
bool(false)
-- iteration 4 --
array(1) {
[0]=>
float(1)
}
NULL
array(1) {
[0]=>
float(1)
}
NULL
bool(false)
-- iteration 5 --
array(1) {
[0]=>
float(1)
}
NULL
array(1) {
[0]=>
float(1)
}
NULL
bool(false)
-- iteration 6 --
array(1) {
[0]=>
float(1)
}
NULL
array(1) {
[0]=>
float(1)
}
NULL
bool(false)
-- iteration 7 --
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
bool(false)
-- iteration 8 --
array(1) {
[0]=>
float(1)
}
NULL
array(1) {
[0]=>
float(1)
}
NULL
bool(false)
-- iteration 9 --
array(1) {
[0]=>
float(1)
}
NULL
array(1) {
[0]=>
float(1)
}
NULL
bool(false)
-- iteration 10 --
array(1) {
[0]=>
float(1)
}
NULL
array(1) {
[0]=>
float(1)
}
NULL
bool(false)
-- iteration 11 --
array(1) {
[0]=>
float(1)
}
NULL
array(1) {
[0]=>
float(1)
}
NULL
bool(false)
-- iteration 12 --
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 13 --
array(0) {
}
NULL
array(0) {
}
NULL
bool(false)
*** Done ***

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,862 @@
--TEST--
Test fscanf() function: usage variations - string formats with float values
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan float values using different string format types */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): different string format types with float values ***\n";
// create a file
$filename = "$file_path/fscanf_variation15.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
// array of float type values
$float_values = array (
-2147483649,
2147483648,
-0x80000001, // float value, beyond max negative int
0x800000001, // float value, beyond max positive int
020000000001, // float value, beyond max positive int
-020000000001, // float value, beyond max negative int
0.0,
-0.1,
1.0,
1e5,
-1e6,
1E8,
-1E9,
10.0000000000000000005,
10.5e+5
);
$string_formats = array( "%s",
"%hs", "%ls", "%Ls",
" %s", "%s ", "% s",
"\t%s", "\n%s", "%4s",
"%30s", "%[a-zA-Z0-9]", "%*s");
$counter = 1;
// writing to the file
foreach($float_values as $value) {
@fprintf($file_handle, $value);
@fprintf($file_handle, "\n");
}
// closing the file
fclose($file_handle);
// opening the file for reading
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
$counter = 1;
// reading the values from file using different string formats
foreach($string_formats as $string_format) {
// rewind the file so that for every foreach iteration the file pointer starts from bof
rewind($file_handle);
echo "\n-- iteration $counter --\n";
while( !feof($file_handle) ) {
var_dump( fscanf($file_handle,$string_format) );
}
$counter++;
}
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation15.tmp";
unlink($filename);
?>
--EXPECTF--
*** Test fscanf(): different string format types with float values ***
-- iteration 1 --
array(1) {
[0]=>
string(11) "-2147483649"
}
array(1) {
[0]=>
string(10) "2147483648"
}
array(1) {
[0]=>
string(11) "-2147483649"
}
array(1) {
[0]=>
string(11) "34359738369"
}
array(1) {
[0]=>
string(10) "2147483649"
}
array(1) {
[0]=>
string(11) "-2147483649"
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(4) "-0.1"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(6) "100000"
}
array(1) {
[0]=>
string(8) "-1000000"
}
array(1) {
[0]=>
string(9) "100000000"
}
array(1) {
[0]=>
string(11) "-1000000000"
}
array(1) {
[0]=>
string(2) "10"
}
array(1) {
[0]=>
string(7) "1050000"
}
bool(false)
-- iteration 2 --
array(1) {
[0]=>
string(11) "-2147483649"
}
array(1) {
[0]=>
string(10) "2147483648"
}
array(1) {
[0]=>
string(11) "-2147483649"
}
array(1) {
[0]=>
string(11) "34359738369"
}
array(1) {
[0]=>
string(10) "2147483649"
}
array(1) {
[0]=>
string(11) "-2147483649"
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(4) "-0.1"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(6) "100000"
}
array(1) {
[0]=>
string(8) "-1000000"
}
array(1) {
[0]=>
string(9) "100000000"
}
array(1) {
[0]=>
string(11) "-1000000000"
}
array(1) {
[0]=>
string(2) "10"
}
array(1) {
[0]=>
string(7) "1050000"
}
bool(false)
-- iteration 3 --
array(1) {
[0]=>
string(11) "-2147483649"
}
array(1) {
[0]=>
string(10) "2147483648"
}
array(1) {
[0]=>
string(11) "-2147483649"
}
array(1) {
[0]=>
string(11) "34359738369"
}
array(1) {
[0]=>
string(10) "2147483649"
}
array(1) {
[0]=>
string(11) "-2147483649"
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(4) "-0.1"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(6) "100000"
}
array(1) {
[0]=>
string(8) "-1000000"
}
array(1) {
[0]=>
string(9) "100000000"
}
array(1) {
[0]=>
string(11) "-1000000000"
}
array(1) {
[0]=>
string(2) "10"
}
array(1) {
[0]=>
string(7) "1050000"
}
bool(false)
-- iteration 4 --
array(1) {
[0]=>
string(11) "-2147483649"
}
array(1) {
[0]=>
string(10) "2147483648"
}
array(1) {
[0]=>
string(11) "-2147483649"
}
array(1) {
[0]=>
string(11) "34359738369"
}
array(1) {
[0]=>
string(10) "2147483649"
}
array(1) {
[0]=>
string(11) "-2147483649"
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(4) "-0.1"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(6) "100000"
}
array(1) {
[0]=>
string(8) "-1000000"
}
array(1) {
[0]=>
string(9) "100000000"
}
array(1) {
[0]=>
string(11) "-1000000000"
}
array(1) {
[0]=>
string(2) "10"
}
array(1) {
[0]=>
string(7) "1050000"
}
bool(false)
-- iteration 5 --
array(1) {
[0]=>
string(11) "-2147483649"
}
array(1) {
[0]=>
string(10) "2147483648"
}
array(1) {
[0]=>
string(11) "-2147483649"
}
array(1) {
[0]=>
string(11) "34359738369"
}
array(1) {
[0]=>
string(10) "2147483649"
}
array(1) {
[0]=>
string(11) "-2147483649"
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(4) "-0.1"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(6) "100000"
}
array(1) {
[0]=>
string(8) "-1000000"
}
array(1) {
[0]=>
string(9) "100000000"
}
array(1) {
[0]=>
string(11) "-1000000000"
}
array(1) {
[0]=>
string(2) "10"
}
array(1) {
[0]=>
string(7) "1050000"
}
bool(false)
-- iteration 6 --
array(1) {
[0]=>
string(11) "-2147483649"
}
array(1) {
[0]=>
string(10) "2147483648"
}
array(1) {
[0]=>
string(11) "-2147483649"
}
array(1) {
[0]=>
string(11) "34359738369"
}
array(1) {
[0]=>
string(10) "2147483649"
}
array(1) {
[0]=>
string(11) "-2147483649"
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(4) "-0.1"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(6) "100000"
}
array(1) {
[0]=>
string(8) "-1000000"
}
array(1) {
[0]=>
string(9) "100000000"
}
array(1) {
[0]=>
string(11) "-1000000000"
}
array(1) {
[0]=>
string(2) "10"
}
array(1) {
[0]=>
string(7) "1050000"
}
bool(false)
-- iteration 7 --
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
bool(false)
-- iteration 8 --
array(1) {
[0]=>
string(11) "-2147483649"
}
array(1) {
[0]=>
string(10) "2147483648"
}
array(1) {
[0]=>
string(11) "-2147483649"
}
array(1) {
[0]=>
string(11) "34359738369"
}
array(1) {
[0]=>
string(10) "2147483649"
}
array(1) {
[0]=>
string(11) "-2147483649"
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(4) "-0.1"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(6) "100000"
}
array(1) {
[0]=>
string(8) "-1000000"
}
array(1) {
[0]=>
string(9) "100000000"
}
array(1) {
[0]=>
string(11) "-1000000000"
}
array(1) {
[0]=>
string(2) "10"
}
array(1) {
[0]=>
string(7) "1050000"
}
bool(false)
-- iteration 9 --
array(1) {
[0]=>
string(11) "-2147483649"
}
array(1) {
[0]=>
string(10) "2147483648"
}
array(1) {
[0]=>
string(11) "-2147483649"
}
array(1) {
[0]=>
string(11) "34359738369"
}
array(1) {
[0]=>
string(10) "2147483649"
}
array(1) {
[0]=>
string(11) "-2147483649"
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(4) "-0.1"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(6) "100000"
}
array(1) {
[0]=>
string(8) "-1000000"
}
array(1) {
[0]=>
string(9) "100000000"
}
array(1) {
[0]=>
string(11) "-1000000000"
}
array(1) {
[0]=>
string(2) "10"
}
array(1) {
[0]=>
string(7) "1050000"
}
bool(false)
-- iteration 10 --
array(1) {
[0]=>
string(4) "-214"
}
array(1) {
[0]=>
string(4) "2147"
}
array(1) {
[0]=>
string(4) "-214"
}
array(1) {
[0]=>
string(4) "3435"
}
array(1) {
[0]=>
string(4) "2147"
}
array(1) {
[0]=>
string(4) "-214"
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(4) "-0.1"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(4) "1000"
}
array(1) {
[0]=>
string(4) "-100"
}
array(1) {
[0]=>
string(4) "1000"
}
array(1) {
[0]=>
string(4) "-100"
}
array(1) {
[0]=>
string(2) "10"
}
array(1) {
[0]=>
string(4) "1050"
}
bool(false)
-- iteration 11 --
array(1) {
[0]=>
string(11) "-2147483649"
}
array(1) {
[0]=>
string(10) "2147483648"
}
array(1) {
[0]=>
string(11) "-2147483649"
}
array(1) {
[0]=>
string(11) "34359738369"
}
array(1) {
[0]=>
string(10) "2147483649"
}
array(1) {
[0]=>
string(11) "-2147483649"
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(4) "-0.1"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(6) "100000"
}
array(1) {
[0]=>
string(8) "-1000000"
}
array(1) {
[0]=>
string(9) "100000000"
}
array(1) {
[0]=>
string(11) "-1000000000"
}
array(1) {
[0]=>
string(2) "10"
}
array(1) {
[0]=>
string(7) "1050000"
}
bool(false)
-- iteration 12 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(10) "2147483648"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(11) "34359738369"
}
array(1) {
[0]=>
string(10) "2147483649"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(6) "100000"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(9) "100000000"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(2) "10"
}
array(1) {
[0]=>
string(7) "1050000"
}
bool(false)
-- iteration 13 --
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
bool(false)
*** Done ***

View File

@ -0,0 +1,220 @@
--TEST--
Test fscanf() function: usage variations - string formats with resource
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan resource type using different string format types */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): different string format types with resource ***\n";
// create a file
$filename = "$file_path/fscanf_variation16.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
// resource type variable
$fp = fopen (__FILE__, "r");
$dfp = opendir ( dirname(__FILE__) );
// array of resource types
$resource_types = array (
$fp,
$dfp
);
$string_formats = array( "%s",
"%hs", "%ls", "%Ls",
" %s", "%s ", "% s",
"\t%s", "\n%s", "%4s",
"%30s", "%[a-zA-Z0-9]", "%*s");
$counter = 1;
// writing to the file
foreach($resource_types as $value) {
@fprintf($file_handle, $value);
@fprintf($file_handle, "\n");
}
// closing the file
fclose($file_handle);
// opening the file for reading
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
$counter = 1;
// reading the values from file using different string formats
foreach($string_formats as $string_format) {
// rewind the file so that for every foreach iteration the file pointer starts from bof
rewind($file_handle);
echo "\n-- iteration $counter --\n";
while( !feof($file_handle) ) {
var_dump( fscanf($file_handle,$string_format) );
}
$counter++;
}
// closing the resources
fclose($fp);
fclose($dfp);
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation16.tmp";
unlink($filename);
?>
--EXPECTF--
*** Test fscanf(): different string format types with resource ***
-- iteration 1 --
array(1) {
[0]=>
string(8) "Resource"
}
array(1) {
[0]=>
string(8) "Resource"
}
bool(false)
-- iteration 2 --
array(1) {
[0]=>
string(8) "Resource"
}
array(1) {
[0]=>
string(8) "Resource"
}
bool(false)
-- iteration 3 --
array(1) {
[0]=>
string(8) "Resource"
}
array(1) {
[0]=>
string(8) "Resource"
}
bool(false)
-- iteration 4 --
array(1) {
[0]=>
string(8) "Resource"
}
array(1) {
[0]=>
string(8) "Resource"
}
bool(false)
-- iteration 5 --
array(1) {
[0]=>
string(8) "Resource"
}
array(1) {
[0]=>
string(8) "Resource"
}
bool(false)
-- iteration 6 --
array(1) {
[0]=>
string(8) "Resource"
}
array(1) {
[0]=>
string(8) "Resource"
}
bool(false)
-- iteration 7 --
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
bool(false)
-- iteration 8 --
array(1) {
[0]=>
string(8) "Resource"
}
array(1) {
[0]=>
string(8) "Resource"
}
bool(false)
-- iteration 9 --
array(1) {
[0]=>
string(8) "Resource"
}
array(1) {
[0]=>
string(8) "Resource"
}
bool(false)
-- iteration 10 --
array(1) {
[0]=>
string(4) "Reso"
}
array(1) {
[0]=>
string(4) "Reso"
}
bool(false)
-- iteration 11 --
array(1) {
[0]=>
string(8) "Resource"
}
array(1) {
[0]=>
string(8) "Resource"
}
bool(false)
-- iteration 12 --
array(1) {
[0]=>
string(8) "Resource"
}
array(1) {
[0]=>
string(8) "Resource"
}
bool(false)
-- iteration 13 --
array(0) {
}
array(0) {
}
bool(false)
*** Done ***

View File

@ -0,0 +1,711 @@
--TEST--
Test fscanf() function: usage variations - string formats with arrays
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan arrays using different string format types */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): different string format types with arrays ***\n";
// create a file
$filename = "$file_path/fscanf_variation17.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
// array types
$array_types = array (
array(),
array(0),
array(1),
array(NULL),
array(null),
array("string"),
array(true),
array(TRUE),
array(false),
array(FALSE),
array(1,2,3,4),
array(1 => "One", "two" => 2)
);
$string_formats = array( "%s",
"%hs", "%ls", "%Ls",
" %s", "%s ", "% s",
"\t%s", "\n%s", "%4s",
"%30s", "%[a-zA-Z0-9]", "%*s");
$counter = 1;
// writing to the file
foreach($array_types as $value) {
@fprintf($file_handle, $value);
@fprintf($file_handle, "\n");
}
// closing the file
fclose($file_handle);
// opening the file for reading
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
$counter = 1;
// reading the values from file using different string formats
foreach($string_formats as $string_format) {
// rewind the file so that for every foreach iteration the file pointer starts from bof
rewind($file_handle);
echo "\n-- iteration $counter --\n";
while( !feof($file_handle) ) {
var_dump( fscanf($file_handle,$string_format) );
}
$counter++;
}
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation17.tmp";
unlink($filename);
?>
--EXPECTF--
*** Test fscanf(): different string format types with arrays ***
-- iteration 1 --
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
bool(false)
-- iteration 2 --
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
bool(false)
-- iteration 3 --
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
bool(false)
-- iteration 4 --
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
bool(false)
-- iteration 5 --
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
bool(false)
-- iteration 6 --
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
bool(false)
-- iteration 7 --
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
bool(false)
-- iteration 8 --
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
bool(false)
-- iteration 9 --
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
bool(false)
-- iteration 10 --
array(1) {
[0]=>
string(4) "Arra"
}
array(1) {
[0]=>
string(4) "Arra"
}
array(1) {
[0]=>
string(4) "Arra"
}
array(1) {
[0]=>
string(4) "Arra"
}
array(1) {
[0]=>
string(4) "Arra"
}
array(1) {
[0]=>
string(4) "Arra"
}
array(1) {
[0]=>
string(4) "Arra"
}
array(1) {
[0]=>
string(4) "Arra"
}
array(1) {
[0]=>
string(4) "Arra"
}
array(1) {
[0]=>
string(4) "Arra"
}
array(1) {
[0]=>
string(4) "Arra"
}
array(1) {
[0]=>
string(4) "Arra"
}
bool(false)
-- iteration 11 --
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
bool(false)
-- iteration 12 --
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
bool(false)
-- iteration 13 --
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
bool(false)
*** Done ***

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,249 @@
--TEST--
Test fscanf() function: usage variations - string formats with boolean
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan boolean data using different string format types */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): different string format types with boolean data ***\n";
// create a file
$filename = "$file_path/fscanf_variation19.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
// array of boolean types
$bool_types = array (
true,
false,
TRUE,
FALSE,
);
$string_formats = array( "%s",
"%hs", "%ls", "%Ls",
" %s", "%s ", "% s",
"\t%s", "\n%s", "%4s",
"%30s", "%[a-zA-Z0-9]", "%*s");
$counter = 1;
// writing to the file
foreach($bool_types as $value) {
@fprintf($file_handle, $value);
@fprintf($file_handle, "\n");
}
// closing the file
fclose($file_handle);
// opening the file for reading
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
$counter = 1;
// reading the values from file using different string formats
foreach($string_formats as $string_format) {
// rewind the file so that for every foreach iteration the file pointer starts from bof
rewind($file_handle);
echo "\n-- iteration $counter --\n";
while( !feof($file_handle) ) {
var_dump( fscanf($file_handle,$string_format) );
}
$counter++;
}
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation19.tmp";
unlink($filename);
?>
--EXPECTF--
*** Test fscanf(): different string format types with boolean data ***
-- iteration 1 --
array(1) {
[0]=>
string(1) "1"
}
NULL
array(1) {
[0]=>
string(1) "1"
}
NULL
bool(false)
-- iteration 2 --
array(1) {
[0]=>
string(1) "1"
}
NULL
array(1) {
[0]=>
string(1) "1"
}
NULL
bool(false)
-- iteration 3 --
array(1) {
[0]=>
string(1) "1"
}
NULL
array(1) {
[0]=>
string(1) "1"
}
NULL
bool(false)
-- iteration 4 --
array(1) {
[0]=>
string(1) "1"
}
NULL
array(1) {
[0]=>
string(1) "1"
}
NULL
bool(false)
-- iteration 5 --
array(1) {
[0]=>
string(1) "1"
}
NULL
array(1) {
[0]=>
string(1) "1"
}
NULL
bool(false)
-- iteration 6 --
array(1) {
[0]=>
string(1) "1"
}
NULL
array(1) {
[0]=>
string(1) "1"
}
NULL
bool(false)
-- iteration 7 --
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
bool(false)
-- iteration 8 --
array(1) {
[0]=>
string(1) "1"
}
NULL
array(1) {
[0]=>
string(1) "1"
}
NULL
bool(false)
-- iteration 9 --
array(1) {
[0]=>
string(1) "1"
}
NULL
array(1) {
[0]=>
string(1) "1"
}
NULL
bool(false)
-- iteration 10 --
array(1) {
[0]=>
string(1) "1"
}
NULL
array(1) {
[0]=>
string(1) "1"
}
NULL
bool(false)
-- iteration 11 --
array(1) {
[0]=>
string(1) "1"
}
NULL
array(1) {
[0]=>
string(1) "1"
}
NULL
bool(false)
-- iteration 12 --
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 13 --
array(0) {
}
NULL
array(0) {
}
NULL
bool(false)
*** Done ***

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,862 @@
--TEST--
Test fscanf() function: usage variations - char formats with float values
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan float values using different char format types */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): different char format types with float values ***\n";
// create a file
$filename = "$file_path/fscanf_variation21.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
// array of float type values
$float_values = array (
-2147483649,
2147483648,
-0x80000001, // float value, beyond max negative int
0x800000001, // float value, beyond max positive int
020000000001, // float value, beyond max positive int
-020000000001, // float value, beyond max negative int
0.0,
-0.1,
1.0,
1e5,
-1e6,
1E8,
-1E9,
10.0000000000000000005,
10.5e+5
);
$char_formats = array( "%c",
"%hc", "%lc", "%Lc",
" %c", "%c ", "% c",
"\t%c", "\n%c", "%4c",
"%30c", "%[a-zA-Z@#$&0-9]", "%*c");
$counter = 1;
// writing to the file
foreach($float_values as $value) {
@fprintf($file_handle, $value);
@fprintf($file_handle, "\n");
}
// closing the file
fclose($file_handle);
// opening the file for reading
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
$counter = 1;
// reading the values from file using different char formats
foreach($char_formats as $char_format) {
// rewind the file so that for every foreach iteration the file pointer starts from bof
rewind($file_handle);
echo "\n-- iteration $counter --\n";
while( !feof($file_handle) ) {
var_dump( fscanf($file_handle,$char_format) );
}
$counter++;
}
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation21.tmp";
unlink($filename);
?>
--EXPECTF--
*** Test fscanf(): different char format types with float values ***
-- iteration 1 --
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "2"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "3"
}
array(1) {
[0]=>
string(1) "2"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "1"
}
bool(false)
-- iteration 2 --
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "2"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "3"
}
array(1) {
[0]=>
string(1) "2"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "1"
}
bool(false)
-- iteration 3 --
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "2"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "3"
}
array(1) {
[0]=>
string(1) "2"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "1"
}
bool(false)
-- iteration 4 --
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "2"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "3"
}
array(1) {
[0]=>
string(1) "2"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "1"
}
bool(false)
-- iteration 5 --
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "2"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "3"
}
array(1) {
[0]=>
string(1) "2"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "1"
}
bool(false)
-- iteration 6 --
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "2"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "3"
}
array(1) {
[0]=>
string(1) "2"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "1"
}
bool(false)
-- iteration 7 --
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
bool(false)
-- iteration 8 --
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "2"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "3"
}
array(1) {
[0]=>
string(1) "2"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "1"
}
bool(false)
-- iteration 9 --
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "2"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "3"
}
array(1) {
[0]=>
string(1) "2"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "1"
}
bool(false)
-- iteration 10 --
array(1) {
[0]=>
string(4) "-214"
}
array(1) {
[0]=>
string(4) "2147"
}
array(1) {
[0]=>
string(4) "-214"
}
array(1) {
[0]=>
string(4) "3435"
}
array(1) {
[0]=>
string(4) "2147"
}
array(1) {
[0]=>
string(4) "-214"
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(4) "-0.1"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(4) "1000"
}
array(1) {
[0]=>
string(4) "-100"
}
array(1) {
[0]=>
string(4) "1000"
}
array(1) {
[0]=>
string(4) "-100"
}
array(1) {
[0]=>
string(2) "10"
}
array(1) {
[0]=>
string(4) "1050"
}
bool(false)
-- iteration 11 --
array(1) {
[0]=>
string(11) "-2147483649"
}
array(1) {
[0]=>
string(10) "2147483648"
}
array(1) {
[0]=>
string(11) "-2147483649"
}
array(1) {
[0]=>
string(11) "34359738369"
}
array(1) {
[0]=>
string(10) "2147483649"
}
array(1) {
[0]=>
string(11) "-2147483649"
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(4) "-0.1"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(6) "100000"
}
array(1) {
[0]=>
string(8) "-1000000"
}
array(1) {
[0]=>
string(9) "100000000"
}
array(1) {
[0]=>
string(11) "-1000000000"
}
array(1) {
[0]=>
string(2) "10"
}
array(1) {
[0]=>
string(7) "1050000"
}
bool(false)
-- iteration 12 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(10) "2147483648"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(11) "34359738369"
}
array(1) {
[0]=>
string(10) "2147483649"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(6) "100000"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(9) "100000000"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(2) "10"
}
array(1) {
[0]=>
string(7) "1050000"
}
bool(false)
-- iteration 13 --
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
bool(false)
*** Done ***

View File

@ -0,0 +1,220 @@
--TEST--
Test fscanf() function: usage variations - char formats with resource
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan resource type using different char format types */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): different char format types with resource ***\n";
// create a file
$filename = "$file_path/fscanf_variation22.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
// resource type variable
$fp = fopen (__FILE__, "r");
$dfp = opendir ( dirname(__FILE__) );
// array of resource types
$resource_types = array (
$fp,
$dfp
);
$char_formats = array( "%c",
"%hc", "%lc", "%Lc",
" %c", "%c ", "% c",
"\t%c", "\n%c", "%4c",
"%30c", "%[a-zA-Z@#$&0-9]", "%*c");
$counter = 1;
// writing to the file
foreach($resource_types as $value) {
@fprintf($file_handle, $value);
@fprintf($file_handle, "\n");
}
// closing the file
fclose($file_handle);
// opening the file for reading
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
$counter = 1;
// reading the values from file using different char formats
foreach($char_formats as $char_format) {
// rewind the file so that for every foreach iteration the file pointer starts from bof
rewind($file_handle);
echo "\n-- iteration $counter --\n";
while( !feof($file_handle) ) {
var_dump( fscanf($file_handle,$char_format) );
}
$counter++;
}
// closing the resources
fclose($fp);
fclose($dfp);
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation22.tmp";
unlink($filename);
?>
--EXPECTF--
*** Test fscanf(): different char format types with resource ***
-- iteration 1 --
array(1) {
[0]=>
string(1) "R"
}
array(1) {
[0]=>
string(1) "R"
}
bool(false)
-- iteration 2 --
array(1) {
[0]=>
string(1) "R"
}
array(1) {
[0]=>
string(1) "R"
}
bool(false)
-- iteration 3 --
array(1) {
[0]=>
string(1) "R"
}
array(1) {
[0]=>
string(1) "R"
}
bool(false)
-- iteration 4 --
array(1) {
[0]=>
string(1) "R"
}
array(1) {
[0]=>
string(1) "R"
}
bool(false)
-- iteration 5 --
array(1) {
[0]=>
string(1) "R"
}
array(1) {
[0]=>
string(1) "R"
}
bool(false)
-- iteration 6 --
array(1) {
[0]=>
string(1) "R"
}
array(1) {
[0]=>
string(1) "R"
}
bool(false)
-- iteration 7 --
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
bool(false)
-- iteration 8 --
array(1) {
[0]=>
string(1) "R"
}
array(1) {
[0]=>
string(1) "R"
}
bool(false)
-- iteration 9 --
array(1) {
[0]=>
string(1) "R"
}
array(1) {
[0]=>
string(1) "R"
}
bool(false)
-- iteration 10 --
array(1) {
[0]=>
string(4) "Reso"
}
array(1) {
[0]=>
string(4) "Reso"
}
bool(false)
-- iteration 11 --
array(1) {
[0]=>
string(8) "Resource"
}
array(1) {
[0]=>
string(8) "Resource"
}
bool(false)
-- iteration 12 --
array(1) {
[0]=>
string(8) "Resource"
}
array(1) {
[0]=>
string(8) "Resource"
}
bool(false)
-- iteration 13 --
array(0) {
}
array(0) {
}
bool(false)
*** Done ***

View File

@ -0,0 +1,711 @@
--TEST--
Test fscanf() function: usage variations - char formats with arrays
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan arrays using different char format types */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): different char format types with arrays ***\n";
// create a file
$filename = "$file_path/fscanf_variation23.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
// array types
$array_types = array (
array(),
array(0),
array(1),
array(NULL),
array(null),
array("string"),
array(true),
array(TRUE),
array(false),
array(FALSE),
array(1,2,3,4),
array(1 => "One", "two" => 2)
);
$char_formats = array( "%c",
"%hc", "%lc", "%Lc",
" %c", "%c ", "% c",
"\t%c", "\n%c", "%4c",
"%30c", "%[a-zA-Z@#$&0-9]", "%*c");
$counter = 1;
// writing to the file
foreach($array_types as $value) {
@fprintf($file_handle, $value);
@fprintf($file_handle, "\n");
}
// closing the file
fclose($file_handle);
// opening the file for reading
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
$counter = 1;
// reading the values from file using different char formats
foreach($char_formats as $char_format) {
// rewind the file so that for every foreach iteration the file pointer starts from bof
rewind($file_handle);
echo "\n-- iteration $counter --\n";
while( !feof($file_handle) ) {
var_dump( fscanf($file_handle,$char_format) );
}
$counter++;
}
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation23.tmp";
unlink($filename);
?>
--EXPECTF--
*** Test fscanf(): different char format types with arrays ***
-- iteration 1 --
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
bool(false)
-- iteration 2 --
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
bool(false)
-- iteration 3 --
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
bool(false)
-- iteration 4 --
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
bool(false)
-- iteration 5 --
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
bool(false)
-- iteration 6 --
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
bool(false)
-- iteration 7 --
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
bool(false)
-- iteration 8 --
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
bool(false)
-- iteration 9 --
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
array(1) {
[0]=>
string(1) "A"
}
bool(false)
-- iteration 10 --
array(1) {
[0]=>
string(4) "Arra"
}
array(1) {
[0]=>
string(4) "Arra"
}
array(1) {
[0]=>
string(4) "Arra"
}
array(1) {
[0]=>
string(4) "Arra"
}
array(1) {
[0]=>
string(4) "Arra"
}
array(1) {
[0]=>
string(4) "Arra"
}
array(1) {
[0]=>
string(4) "Arra"
}
array(1) {
[0]=>
string(4) "Arra"
}
array(1) {
[0]=>
string(4) "Arra"
}
array(1) {
[0]=>
string(4) "Arra"
}
array(1) {
[0]=>
string(4) "Arra"
}
array(1) {
[0]=>
string(4) "Arra"
}
bool(false)
-- iteration 11 --
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
bool(false)
-- iteration 12 --
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
array(1) {
[0]=>
string(5) "Array"
}
bool(false)
-- iteration 13 --
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
bool(false)
*** Done ***

View File

@ -0,0 +1,993 @@
--TEST--
Test fscanf() function: usage variations - char formats with strings
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan strings using different char format types */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): different char format types with strings ***\n";
// create a file
$filename = "$file_path/fscanf_variation24.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
// array of strings
$strings = array (
"",
'',
"0",
'0',
"1",
'1',
"\x01",
'\x01',
"\01",
'\01',
'string',
"string",
"true",
"FALSE",
'false',
'TRUE',
"NULL",
'null'
);
$char_formats = array( "%c",
"%hc", "%lc", "%Lc",
" %c", "%c ", "% c",
"\t%c", "\n%c", "%4c",
"%30c", "%[a-zA-Z@#$&0-9]", "%*c");
$counter = 1;
// writing to the file
foreach($strings as $string) {
@fprintf($file_handle, $string);
@fprintf($file_handle, "\n");
}
// closing the file
fclose($file_handle);
// opening the file for reading
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
$counter = 1;
// reading the values from file using different char formats
foreach($char_formats as $char_format) {
// rewind the file so that for every foreach iteration the file pointer starts from bof
rewind($file_handle);
echo "\n-- iteration $counter --\n";
while( !feof($file_handle) ) {
var_dump( fscanf($file_handle,$char_format) );
}
$counter++;
}
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation24.tmp";
unlink($filename);
?>
--EXPECTF--
*** Test fscanf(): different char format types with strings ***
-- iteration 1 --
array(1) {
[0]=>
string(0) ""
}
array(1) {
[0]=>
string(0) ""
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) ""
}
array(1) {
[0]=>
string(1) "\"
}
array(1) {
[0]=>
string(1) ""
}
array(1) {
[0]=>
string(1) "\"
}
array(1) {
[0]=>
string(1) "s"
}
array(1) {
[0]=>
string(1) "s"
}
array(1) {
[0]=>
string(1) "t"
}
array(1) {
[0]=>
string(1) "F"
}
array(1) {
[0]=>
string(1) "f"
}
array(1) {
[0]=>
string(1) "T"
}
array(1) {
[0]=>
string(1) "N"
}
array(1) {
[0]=>
string(1) "n"
}
bool(false)
-- iteration 2 --
array(1) {
[0]=>
string(0) ""
}
array(1) {
[0]=>
string(0) ""
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) ""
}
array(1) {
[0]=>
string(1) "\"
}
array(1) {
[0]=>
string(1) ""
}
array(1) {
[0]=>
string(1) "\"
}
array(1) {
[0]=>
string(1) "s"
}
array(1) {
[0]=>
string(1) "s"
}
array(1) {
[0]=>
string(1) "t"
}
array(1) {
[0]=>
string(1) "F"
}
array(1) {
[0]=>
string(1) "f"
}
array(1) {
[0]=>
string(1) "T"
}
array(1) {
[0]=>
string(1) "N"
}
array(1) {
[0]=>
string(1) "n"
}
bool(false)
-- iteration 3 --
array(1) {
[0]=>
string(0) ""
}
array(1) {
[0]=>
string(0) ""
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) ""
}
array(1) {
[0]=>
string(1) "\"
}
array(1) {
[0]=>
string(1) ""
}
array(1) {
[0]=>
string(1) "\"
}
array(1) {
[0]=>
string(1) "s"
}
array(1) {
[0]=>
string(1) "s"
}
array(1) {
[0]=>
string(1) "t"
}
array(1) {
[0]=>
string(1) "F"
}
array(1) {
[0]=>
string(1) "f"
}
array(1) {
[0]=>
string(1) "T"
}
array(1) {
[0]=>
string(1) "N"
}
array(1) {
[0]=>
string(1) "n"
}
bool(false)
-- iteration 4 --
array(1) {
[0]=>
string(0) ""
}
array(1) {
[0]=>
string(0) ""
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) ""
}
array(1) {
[0]=>
string(1) "\"
}
array(1) {
[0]=>
string(1) ""
}
array(1) {
[0]=>
string(1) "\"
}
array(1) {
[0]=>
string(1) "s"
}
array(1) {
[0]=>
string(1) "s"
}
array(1) {
[0]=>
string(1) "t"
}
array(1) {
[0]=>
string(1) "F"
}
array(1) {
[0]=>
string(1) "f"
}
array(1) {
[0]=>
string(1) "T"
}
array(1) {
[0]=>
string(1) "N"
}
array(1) {
[0]=>
string(1) "n"
}
bool(false)
-- iteration 5 --
NULL
NULL
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) ""
}
array(1) {
[0]=>
string(1) "\"
}
array(1) {
[0]=>
string(1) ""
}
array(1) {
[0]=>
string(1) "\"
}
array(1) {
[0]=>
string(1) "s"
}
array(1) {
[0]=>
string(1) "s"
}
array(1) {
[0]=>
string(1) "t"
}
array(1) {
[0]=>
string(1) "F"
}
array(1) {
[0]=>
string(1) "f"
}
array(1) {
[0]=>
string(1) "T"
}
array(1) {
[0]=>
string(1) "N"
}
array(1) {
[0]=>
string(1) "n"
}
bool(false)
-- iteration 6 --
array(1) {
[0]=>
string(0) ""
}
array(1) {
[0]=>
string(0) ""
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) ""
}
array(1) {
[0]=>
string(1) "\"
}
array(1) {
[0]=>
string(1) ""
}
array(1) {
[0]=>
string(1) "\"
}
array(1) {
[0]=>
string(1) "s"
}
array(1) {
[0]=>
string(1) "s"
}
array(1) {
[0]=>
string(1) "t"
}
array(1) {
[0]=>
string(1) "F"
}
array(1) {
[0]=>
string(1) "f"
}
array(1) {
[0]=>
string(1) "T"
}
array(1) {
[0]=>
string(1) "N"
}
array(1) {
[0]=>
string(1) "n"
}
bool(false)
-- iteration 7 --
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
bool(false)
-- iteration 8 --
NULL
NULL
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) ""
}
array(1) {
[0]=>
string(1) "\"
}
array(1) {
[0]=>
string(1) ""
}
array(1) {
[0]=>
string(1) "\"
}
array(1) {
[0]=>
string(1) "s"
}
array(1) {
[0]=>
string(1) "s"
}
array(1) {
[0]=>
string(1) "t"
}
array(1) {
[0]=>
string(1) "F"
}
array(1) {
[0]=>
string(1) "f"
}
array(1) {
[0]=>
string(1) "T"
}
array(1) {
[0]=>
string(1) "N"
}
array(1) {
[0]=>
string(1) "n"
}
bool(false)
-- iteration 9 --
NULL
NULL
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) ""
}
array(1) {
[0]=>
string(1) "\"
}
array(1) {
[0]=>
string(1) ""
}
array(1) {
[0]=>
string(1) "\"
}
array(1) {
[0]=>
string(1) "s"
}
array(1) {
[0]=>
string(1) "s"
}
array(1) {
[0]=>
string(1) "t"
}
array(1) {
[0]=>
string(1) "F"
}
array(1) {
[0]=>
string(1) "f"
}
array(1) {
[0]=>
string(1) "T"
}
array(1) {
[0]=>
string(1) "N"
}
array(1) {
[0]=>
string(1) "n"
}
bool(false)
-- iteration 10 --
array(1) {
[0]=>
string(0) ""
}
array(1) {
[0]=>
string(0) ""
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) ""
}
array(1) {
[0]=>
string(4) "\x01"
}
array(1) {
[0]=>
string(1) ""
}
array(1) {
[0]=>
string(3) "\01"
}
array(1) {
[0]=>
string(4) "stri"
}
array(1) {
[0]=>
string(4) "stri"
}
array(1) {
[0]=>
string(4) "true"
}
array(1) {
[0]=>
string(4) "FALS"
}
array(1) {
[0]=>
string(4) "fals"
}
array(1) {
[0]=>
string(4) "TRUE"
}
array(1) {
[0]=>
string(4) "NULL"
}
array(1) {
[0]=>
string(4) "null"
}
bool(false)
-- iteration 11 --
array(1) {
[0]=>
string(0) ""
}
array(1) {
[0]=>
string(0) ""
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) ""
}
array(1) {
[0]=>
string(4) "\x01"
}
array(1) {
[0]=>
string(1) ""
}
array(1) {
[0]=>
string(3) "\01"
}
array(1) {
[0]=>
string(6) "string"
}
array(1) {
[0]=>
string(6) "string"
}
array(1) {
[0]=>
string(4) "true"
}
array(1) {
[0]=>
string(5) "FALSE"
}
array(1) {
[0]=>
string(5) "false"
}
array(1) {
[0]=>
string(4) "TRUE"
}
array(1) {
[0]=>
string(4) "NULL"
}
array(1) {
[0]=>
string(4) "null"
}
bool(false)
-- iteration 12 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(6) "string"
}
array(1) {
[0]=>
string(6) "string"
}
array(1) {
[0]=>
string(4) "true"
}
array(1) {
[0]=>
string(5) "FALSE"
}
array(1) {
[0]=>
string(5) "false"
}
array(1) {
[0]=>
string(4) "TRUE"
}
array(1) {
[0]=>
string(4) "NULL"
}
array(1) {
[0]=>
string(4) "null"
}
bool(false)
-- iteration 13 --
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
bool(false)
*** Done ***

View File

@ -0,0 +1,293 @@
--TEST--
Test fscanf() function: usage variations - char formats with boolean
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan boolean data using different char format types */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): different char format types with boolean data ***\n";
// create a file
$filename = "$file_path/fscanf_variation25.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
// array of boolean types
$bool_types = array (
true,
false,
TRUE,
FALSE,
);
$char_formats = array( "%c",
"%hc", "%lc", "%Lc",
" %c", "%c ", "% c",
"\t%c", "\n%c", "%4c",
"%30c", "%[a-zA-Z@#$&0-9]", "%*c");
$counter = 1;
// writing to the file
foreach($bool_types as $value) {
@fprintf($file_handle, $value);
@fprintf($file_handle, "\n");
}
// closing the file
fclose($file_handle);
// opening the file for reading
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
$counter = 1;
// reading the values from file using different char formats
foreach($char_formats as $char_format) {
// rewind the file so that for every foreach iteration the file pointer starts from bof
rewind($file_handle);
echo "\n-- iteration $counter --\n";
while( !feof($file_handle) ) {
var_dump( fscanf($file_handle,$char_format) );
}
$counter++;
}
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation25.tmp";
unlink($filename);
?>
--EXPECTF--
*** Test fscanf(): different char format types with boolean data ***
-- iteration 1 --
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(0) ""
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(0) ""
}
bool(false)
-- iteration 2 --
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(0) ""
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(0) ""
}
bool(false)
-- iteration 3 --
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(0) ""
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(0) ""
}
bool(false)
-- iteration 4 --
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(0) ""
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(0) ""
}
bool(false)
-- iteration 5 --
array(1) {
[0]=>
string(1) "1"
}
NULL
array(1) {
[0]=>
string(1) "1"
}
NULL
bool(false)
-- iteration 6 --
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(0) ""
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(0) ""
}
bool(false)
-- iteration 7 --
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
bool(false)
-- iteration 8 --
array(1) {
[0]=>
string(1) "1"
}
NULL
array(1) {
[0]=>
string(1) "1"
}
NULL
bool(false)
-- iteration 9 --
array(1) {
[0]=>
string(1) "1"
}
NULL
array(1) {
[0]=>
string(1) "1"
}
NULL
bool(false)
-- iteration 10 --
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(0) ""
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(0) ""
}
bool(false)
-- iteration 11 --
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(0) ""
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(0) ""
}
bool(false)
-- iteration 12 --
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 13 --
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
bool(false)
*** Done ***

View File

@ -0,0 +1,355 @@
--TEST--
Test fscanf() function: usage variations - char formats with chars
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan different chars using different char format types */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): different char format types with chars ***\n";
// create a file
$filename = "$file_path/fscanf_variation26.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
// array of chars
$char_types = array( 'a', "a", 67, -67, 99 );
$char_formats = array( "%c",
"%hc", "%lc", "%Lc",
" %c", "%c ", "% c",
"\t%c", "\n%c", "%4c",
"%30c", "%[a-zA-Z@#$&0-9]", "%*c");
$counter = 1;
// writing to the file
foreach($char_types as $char) {
@fprintf($file_handle, $char);
@fprintf($file_handle, "\n");
}
// closing the file
fclose($file_handle);
// opening the file for reading
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
$counter = 1;
// reading the values from file using different char formats
foreach($char_formats as $char_format) {
// rewind the file so that for every foreach iteration the file pointer starts from bof
rewind($file_handle);
echo "\n-- iteration $counter --\n";
while( !feof($file_handle) ) {
var_dump( fscanf($file_handle,$char_format) );
}
$counter++;
}
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation26.tmp";
unlink($filename);
?>
--EXPECTF--
*** Test fscanf(): different char format types with chars ***
-- iteration 1 --
array(1) {
[0]=>
string(1) "a"
}
array(1) {
[0]=>
string(1) "a"
}
array(1) {
[0]=>
string(1) "6"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "9"
}
bool(false)
-- iteration 2 --
array(1) {
[0]=>
string(1) "a"
}
array(1) {
[0]=>
string(1) "a"
}
array(1) {
[0]=>
string(1) "6"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "9"
}
bool(false)
-- iteration 3 --
array(1) {
[0]=>
string(1) "a"
}
array(1) {
[0]=>
string(1) "a"
}
array(1) {
[0]=>
string(1) "6"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "9"
}
bool(false)
-- iteration 4 --
array(1) {
[0]=>
string(1) "a"
}
array(1) {
[0]=>
string(1) "a"
}
array(1) {
[0]=>
string(1) "6"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "9"
}
bool(false)
-- iteration 5 --
array(1) {
[0]=>
string(1) "a"
}
array(1) {
[0]=>
string(1) "a"
}
array(1) {
[0]=>
string(1) "6"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "9"
}
bool(false)
-- iteration 6 --
array(1) {
[0]=>
string(1) "a"
}
array(1) {
[0]=>
string(1) "a"
}
array(1) {
[0]=>
string(1) "6"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "9"
}
bool(false)
-- iteration 7 --
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
bool(false)
-- iteration 8 --
array(1) {
[0]=>
string(1) "a"
}
array(1) {
[0]=>
string(1) "a"
}
array(1) {
[0]=>
string(1) "6"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "9"
}
bool(false)
-- iteration 9 --
array(1) {
[0]=>
string(1) "a"
}
array(1) {
[0]=>
string(1) "a"
}
array(1) {
[0]=>
string(1) "6"
}
array(1) {
[0]=>
string(1) "-"
}
array(1) {
[0]=>
string(1) "9"
}
bool(false)
-- iteration 10 --
array(1) {
[0]=>
string(1) "a"
}
array(1) {
[0]=>
string(1) "a"
}
array(1) {
[0]=>
string(2) "67"
}
array(1) {
[0]=>
string(3) "-67"
}
array(1) {
[0]=>
string(2) "99"
}
bool(false)
-- iteration 11 --
array(1) {
[0]=>
string(1) "a"
}
array(1) {
[0]=>
string(1) "a"
}
array(1) {
[0]=>
string(2) "67"
}
array(1) {
[0]=>
string(3) "-67"
}
array(1) {
[0]=>
string(2) "99"
}
bool(false)
-- iteration 12 --
array(1) {
[0]=>
string(1) "a"
}
array(1) {
[0]=>
string(1) "a"
}
array(1) {
[0]=>
string(2) "67"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(2) "99"
}
bool(false)
-- iteration 13 --
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
bool(false)
*** Done ***

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,863 @@
--TEST--
Test fscanf() function: usage variations - octal formats with float values
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan float values using different octal format types */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): different octal format types with float values ***\n";
// create a file
$filename = "$file_path/fscanf_variation28.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
// array of float type values
$float_values = array (
-2147483649,
2147483648,
-0x80000001, // float value, beyond max negative int
0x800000001, // float value, beyond max positive int
020000000001, // float value, beyond max positive int
-020000000001, // float value, beyond max negative int
0.0,
-0.1,
1.0,
1e5,
-1e6,
1E8,
-1E9,
10.0000000000000000005,
10.5e+5
);
$octal_formats = array( "%o",
"%ho", "%lo", "%Lo",
" %o", "%o ", "% o",
"\t%o", "\n%o", "%4o",
"%30o", "%[0-7]", "%*o"
);
$counter = 1;
// writing to the file
foreach($float_values as $value) {
@fprintf($file_handle, $value);
@fprintf($file_handle, "\n");
}
// closing the file
fclose($file_handle);
// opening the file for reading
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
$counter = 1;
// reading the values from file using different octal formats
foreach($octal_formats as $octal_format) {
// rewind the file so that for every foreach iteration the file pointer starts from bof
rewind($file_handle);
echo "\n-- iteration $counter --\n";
while( !feof($file_handle) ) {
var_dump( fscanf($file_handle,$octal_format) );
}
$counter++;
}
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation28.tmp";
unlink($filename);
?>
--EXPECTF--
*** Test fscanf(): different octal format types with float values ***
-- iteration 1 --
array(1) {
[0]=>
int(-9020)
}
array(1) {
[0]=>
int(9020)
}
array(1) {
[0]=>
int(-9020)
}
array(1) {
[0]=>
int(1821)
}
array(1) {
[0]=>
int(9020)
}
array(1) {
[0]=>
int(-9020)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(32768)
}
array(1) {
[0]=>
int(-262144)
}
array(1) {
[0]=>
int(16777216)
}
array(1) {
[0]=>
int(-134217728)
}
array(1) {
[0]=>
int(8)
}
array(1) {
[0]=>
int(282624)
}
bool(false)
-- iteration 2 --
array(1) {
[0]=>
int(-9020)
}
array(1) {
[0]=>
int(9020)
}
array(1) {
[0]=>
int(-9020)
}
array(1) {
[0]=>
int(1821)
}
array(1) {
[0]=>
int(9020)
}
array(1) {
[0]=>
int(-9020)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(32768)
}
array(1) {
[0]=>
int(-262144)
}
array(1) {
[0]=>
int(16777216)
}
array(1) {
[0]=>
int(-134217728)
}
array(1) {
[0]=>
int(8)
}
array(1) {
[0]=>
int(282624)
}
bool(false)
-- iteration 3 --
array(1) {
[0]=>
int(-9020)
}
array(1) {
[0]=>
int(9020)
}
array(1) {
[0]=>
int(-9020)
}
array(1) {
[0]=>
int(1821)
}
array(1) {
[0]=>
int(9020)
}
array(1) {
[0]=>
int(-9020)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(32768)
}
array(1) {
[0]=>
int(-262144)
}
array(1) {
[0]=>
int(16777216)
}
array(1) {
[0]=>
int(-134217728)
}
array(1) {
[0]=>
int(8)
}
array(1) {
[0]=>
int(282624)
}
bool(false)
-- iteration 4 --
array(1) {
[0]=>
int(-9020)
}
array(1) {
[0]=>
int(9020)
}
array(1) {
[0]=>
int(-9020)
}
array(1) {
[0]=>
int(1821)
}
array(1) {
[0]=>
int(9020)
}
array(1) {
[0]=>
int(-9020)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(32768)
}
array(1) {
[0]=>
int(-262144)
}
array(1) {
[0]=>
int(16777216)
}
array(1) {
[0]=>
int(-134217728)
}
array(1) {
[0]=>
int(8)
}
array(1) {
[0]=>
int(282624)
}
bool(false)
-- iteration 5 --
array(1) {
[0]=>
int(-9020)
}
array(1) {
[0]=>
int(9020)
}
array(1) {
[0]=>
int(-9020)
}
array(1) {
[0]=>
int(1821)
}
array(1) {
[0]=>
int(9020)
}
array(1) {
[0]=>
int(-9020)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(32768)
}
array(1) {
[0]=>
int(-262144)
}
array(1) {
[0]=>
int(16777216)
}
array(1) {
[0]=>
int(-134217728)
}
array(1) {
[0]=>
int(8)
}
array(1) {
[0]=>
int(282624)
}
bool(false)
-- iteration 6 --
array(1) {
[0]=>
int(-9020)
}
array(1) {
[0]=>
int(9020)
}
array(1) {
[0]=>
int(-9020)
}
array(1) {
[0]=>
int(1821)
}
array(1) {
[0]=>
int(9020)
}
array(1) {
[0]=>
int(-9020)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(32768)
}
array(1) {
[0]=>
int(-262144)
}
array(1) {
[0]=>
int(16777216)
}
array(1) {
[0]=>
int(-134217728)
}
array(1) {
[0]=>
int(8)
}
array(1) {
[0]=>
int(282624)
}
bool(false)
-- iteration 7 --
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
bool(false)
-- iteration 8 --
array(1) {
[0]=>
int(-9020)
}
array(1) {
[0]=>
int(9020)
}
array(1) {
[0]=>
int(-9020)
}
array(1) {
[0]=>
int(1821)
}
array(1) {
[0]=>
int(9020)
}
array(1) {
[0]=>
int(-9020)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(32768)
}
array(1) {
[0]=>
int(-262144)
}
array(1) {
[0]=>
int(16777216)
}
array(1) {
[0]=>
int(-134217728)
}
array(1) {
[0]=>
int(8)
}
array(1) {
[0]=>
int(282624)
}
bool(false)
-- iteration 9 --
array(1) {
[0]=>
int(-9020)
}
array(1) {
[0]=>
int(9020)
}
array(1) {
[0]=>
int(-9020)
}
array(1) {
[0]=>
int(1821)
}
array(1) {
[0]=>
int(9020)
}
array(1) {
[0]=>
int(-9020)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(32768)
}
array(1) {
[0]=>
int(-262144)
}
array(1) {
[0]=>
int(16777216)
}
array(1) {
[0]=>
int(-134217728)
}
array(1) {
[0]=>
int(8)
}
array(1) {
[0]=>
int(282624)
}
bool(false)
-- iteration 10 --
array(1) {
[0]=>
int(-140)
}
array(1) {
[0]=>
int(1127)
}
array(1) {
[0]=>
int(-140)
}
array(1) {
[0]=>
int(1821)
}
array(1) {
[0]=>
int(1127)
}
array(1) {
[0]=>
int(-140)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(512)
}
array(1) {
[0]=>
int(-64)
}
array(1) {
[0]=>
int(512)
}
array(1) {
[0]=>
int(-64)
}
array(1) {
[0]=>
int(8)
}
array(1) {
[0]=>
int(552)
}
bool(false)
-- iteration 11 --
array(1) {
[0]=>
int(-9020)
}
array(1) {
[0]=>
int(9020)
}
array(1) {
[0]=>
int(-9020)
}
array(1) {
[0]=>
int(1821)
}
array(1) {
[0]=>
int(9020)
}
array(1) {
[0]=>
int(-9020)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(32768)
}
array(1) {
[0]=>
int(-262144)
}
array(1) {
[0]=>
int(16777216)
}
array(1) {
[0]=>
int(-134217728)
}
array(1) {
[0]=>
int(8)
}
array(1) {
[0]=>
int(282624)
}
bool(false)
-- iteration 12 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(5) "21474"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(4) "3435"
}
array(1) {
[0]=>
string(5) "21474"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(6) "100000"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(9) "100000000"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(2) "10"
}
array(1) {
[0]=>
string(7) "1050000"
}
bool(false)
-- iteration 13 --
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
bool(false)
*** Done ***

View File

@ -0,0 +1,221 @@
--TEST--
Test fscanf() function: usage variations - octal formats with resource
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan resource type using different octal format types */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): different octal format types with resource ***\n";
// create a file
$filename = "$file_path/fscanf_variation29.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
// resource type variable
$fp = fopen (__FILE__, "r");
$dfp = opendir ( dirname(__FILE__) );
// array of resource types
$resource_types = array (
$fp,
$dfp
);
$octal_formats = array( "%o",
"%ho", "%lo", "%Lo",
" %o", "%o ", "% o",
"\t%o", "\n%o", "%4o",
"%30o", "%[0-9]", "%*o"
);
$counter = 1;
// writing to the file
foreach($resource_types as $value) {
@fprintf($file_handle, $value);
@fprintf($file_handle, "\n");
}
// closing the file
fclose($file_handle);
// opening the file for reading
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
$counter = 1;
// reading the values from file using different octal formats
foreach($octal_formats as $octal_format) {
// rewind the file so that for every foreach iteration the file pointer starts from bof
rewind($file_handle);
echo "\n-- iteration $counter --\n";
while( !feof($file_handle) ) {
var_dump( fscanf($file_handle,$octal_format) );
}
$counter++;
}
// closing the resources
fclose($fp);
fclose($dfp);
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation29.tmp";
unlink($filename);
?>
--EXPECTF--
*** Test fscanf(): different octal format types with resource ***
-- iteration 1 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 2 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 3 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 4 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 5 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 6 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 7 --
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
bool(false)
-- iteration 8 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 9 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 10 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 11 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 12 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 13 --
array(0) {
}
array(0) {
}
bool(false)
*** Done ***

View File

@ -0,0 +1,858 @@
--TEST--
Test fscanf() function: usage variations - integer formats with float values
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan float values using different integer format types */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): different integer format types with float values ***\n";
// create a file
$filename = "$file_path/fscanf_variation3.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
// array of float type values
$float_values = array (
-2147483649,
2147483648,
-0x80000001, // float value, beyond max negative int
0x800000001, // float value, beyond max positive int
020000000001, // float value, beyond max positive int
-020000000001, // float value, beyond max negative int
0.0,
-0.1,
1.0,
1e5,
-1e6,
1E8,
-1E9,
10.0000000000000000005,
10.5e+5
);
$int_formats = array( "%d", "%hd", "%ld", "%Ld", " %d", "%d ", "% d", "\t%d", "\n%d", "%4d", "%30d", "%[0-9]", "%*d");
$counter = 1;
// writing to the file
foreach($float_values as $value) {
@fprintf($file_handle, $value);
@fprintf($file_handle, "\n");
}
// closing the file
fclose($file_handle);
// opening the file for reading
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
$counter = 1;
// reading the values from file using different integer formats
foreach($int_formats as $int_format) {
// rewind the file so that for every foreach iteration the file pointer starts from bof
rewind($file_handle);
echo "\n-- iteration $counter --\n";
while( !feof($file_handle) ) {
var_dump( fscanf($file_handle,$int_format) );
}
$counter++;
}
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation3.tmp";
unlink($filename);
?>
--EXPECTF--
*** Test fscanf(): different integer format types with float values ***
-- iteration 1 --
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(100000)
}
array(1) {
[0]=>
int(-1000000)
}
array(1) {
[0]=>
int(100000000)
}
array(1) {
[0]=>
int(-1000000000)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(1050000)
}
bool(false)
-- iteration 2 --
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(100000)
}
array(1) {
[0]=>
int(-1000000)
}
array(1) {
[0]=>
int(100000000)
}
array(1) {
[0]=>
int(-1000000000)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(1050000)
}
bool(false)
-- iteration 3 --
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(100000)
}
array(1) {
[0]=>
int(-1000000)
}
array(1) {
[0]=>
int(100000000)
}
array(1) {
[0]=>
int(-1000000000)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(1050000)
}
bool(false)
-- iteration 4 --
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(100000)
}
array(1) {
[0]=>
int(-1000000)
}
array(1) {
[0]=>
int(100000000)
}
array(1) {
[0]=>
int(-1000000000)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(1050000)
}
bool(false)
-- iteration 5 --
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(100000)
}
array(1) {
[0]=>
int(-1000000)
}
array(1) {
[0]=>
int(100000000)
}
array(1) {
[0]=>
int(-1000000000)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(1050000)
}
bool(false)
-- iteration 6 --
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(100000)
}
array(1) {
[0]=>
int(-1000000)
}
array(1) {
[0]=>
int(100000000)
}
array(1) {
[0]=>
int(-1000000000)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(1050000)
}
bool(false)
-- iteration 7 --
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
bool(false)
-- iteration 8 --
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(100000)
}
array(1) {
[0]=>
int(-1000000)
}
array(1) {
[0]=>
int(100000000)
}
array(1) {
[0]=>
int(-1000000000)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(1050000)
}
bool(false)
-- iteration 9 --
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(100000)
}
array(1) {
[0]=>
int(-1000000)
}
array(1) {
[0]=>
int(100000000)
}
array(1) {
[0]=>
int(-1000000000)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(1050000)
}
bool(false)
-- iteration 10 --
array(1) {
[0]=>
int(-214)
}
array(1) {
[0]=>
int(2147)
}
array(1) {
[0]=>
int(-214)
}
array(1) {
[0]=>
int(3435)
}
array(1) {
[0]=>
int(2147)
}
array(1) {
[0]=>
int(-214)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1000)
}
array(1) {
[0]=>
int(-100)
}
array(1) {
[0]=>
int(1000)
}
array(1) {
[0]=>
int(-100)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(1050)
}
bool(false)
-- iteration 11 --
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(100000)
}
array(1) {
[0]=>
int(-1000000)
}
array(1) {
[0]=>
int(100000000)
}
array(1) {
[0]=>
int(-1000000000)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(1050000)
}
bool(false)
-- iteration 12 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(10) "2147483648"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(11) "34359738369"
}
array(1) {
[0]=>
string(10) "2147483649"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(6) "100000"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(9) "100000000"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(2) "10"
}
array(1) {
[0]=>
string(7) "1050000"
}
bool(false)
-- iteration 13 --
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
bool(false)
*** Done ***

View File

@ -0,0 +1,712 @@
--TEST--
Test fscanf() function: usage variations - octal formats with arrays
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan arrays using different octal format types */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): different octal format types with arrays ***\n";
// create a file
$filename = "$file_path/fscanf_variation30.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
// array types
$array_types = array (
array(),
array(0),
array(1),
array(NULL),
array(null),
array("string"),
array(true),
array(TRUE),
array(false),
array(FALSE),
array(1,2,3,4),
array(1 => "One", "two" => 2)
);
$octal_formats = array ( "%o",
"%ho", "%lo", "%Lo",
" %o", "%o ", "% o",
"\t%o", "\n%o", "%4o",
"%30o", "%[0-7]", "%*o"
);
$counter = 1;
// writing to the file
foreach($array_types as $value) {
@fprintf($file_handle, $value);
@fprintf($file_handle, "\n");
}
// closing the file
fclose($file_handle);
// opening the file for reading
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
$counter = 1;
// reading the values from file using different octal formats
foreach($octal_formats as $octal_format) {
// rewind the file so that for every foreach iteration the file pointer starts from bof
rewind($file_handle);
echo "\n-- iteration $counter --\n";
while( !feof($file_handle) ) {
var_dump( fscanf($file_handle,$octal_format) );
}
$counter++;
}
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation30.tmp";
unlink($filename);
?>
--EXPECTF--
*** Test fscanf(): different octal format types with arrays ***
-- iteration 1 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 2 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 3 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 4 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 5 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 6 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 7 --
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
bool(false)
-- iteration 8 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 9 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 10 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 11 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 12 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 13 --
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
bool(false)
*** Done ***

View File

@ -0,0 +1,945 @@
--TEST--
Test fscanf() function: usage variations - octal formats with strings
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan strings using different octal format types */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): different octal format types with strings ***\n";
// create a file
$filename = "$file_path/fscanf_variation31.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
// array of strings
$strings = array (
"",
'',
"0",
'0',
"1",
'1',
"\x01",
'\x01',
"\01",
'\01',
'string',
"string",
"true",
"FALSE",
'false',
'TRUE',
"NULL",
'null'
);
$octal_formats = array( "%o", "%ho", "%lo", "%Lo", " %o", "%o ", "% o", "\t%o", "\n%o", "%4o", "%30o", "%[0-9]", "%*o");
$counter = 1;
// writing to the file
foreach($strings as $string) {
@fprintf($file_handle, $string);
@fprintf($file_handle, "\n");
}
// closing the file
fclose($file_handle);
// opening the file for reading
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
$counter = 1;
// reading the values from file using different octal formats
foreach($octal_formats as $octal_format) {
// rewind the file so that for every foreach iteration the file pointer starts from bof
rewind($file_handle);
echo "\n-- iteration $counter --\n";
while( !feof($file_handle) ) {
var_dump( fscanf($file_handle,$octal_format) );
}
$counter++;
}
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation31.tmp";
unlink($filename);
?>
--EXPECTF--
*** Test fscanf(): different octal format types with strings ***
-- iteration 1 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 2 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 3 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 4 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 5 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 6 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 7 --
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
bool(false)
-- iteration 8 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 9 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 10 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 11 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 12 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 13 --
NULL
NULL
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
bool(false)
*** Done ***

View File

@ -0,0 +1,250 @@
--TEST--
Test fscanf() function: usage variations - octal formats with boolean
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan boolean data using different octal format types */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): different octal format types with boolean data ***\n";
// create a file
$filename = "$file_path/fscanf_variation32.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
// array of boolean types
$bool_types = array (
true,
false,
TRUE,
FALSE,
);
$octal_formats = array( "%o",
"%ho", "%lo", "%Lo",
" %o", "%o ", "% o",
"\t%o", "\n%o", "%4o",
"%30o", "%[0-7]", "%*o"
);
$counter = 1;
// writing to the file
foreach($bool_types as $value) {
@fprintf($file_handle, $value);
@fprintf($file_handle, "\n");
}
// closing the file
fclose($file_handle);
// opening the file for reading
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
$counter = 1;
// reading the values from file using different octal formats
foreach($octal_formats as $octal_format) {
// rewind the file so that for every foreach iteration the file pointer starts from bof
rewind($file_handle);
echo "\n-- iteration $counter --\n";
while( !feof($file_handle) ) {
var_dump( fscanf($file_handle,$octal_format) );
}
$counter++;
}
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation32.tmp";
unlink($filename);
?>
--EXPECTF--
*** Test fscanf(): different octal format types with boolean data ***
-- iteration 1 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 2 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 3 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 4 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 5 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 6 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 7 --
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
bool(false)
-- iteration 8 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 9 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 10 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 11 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 12 --
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 13 --
array(0) {
}
NULL
array(0) {
}
NULL
bool(false)
*** Done ***

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,862 @@
--TEST--
Test fscanf() function: usage variations - hexa formats with float values
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan float values using different hexa format types */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): different hexa format types with float values ***\n";
// create a file
$filename = "$file_path/fscanf_variation34.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
// array of float type values
$float_values = array (
-2147483649,
2147483648,
-0x80000001, // float value, beyond max negative int
0x800000001, // float value, beyond max positive int
020000000001, // float value, beyond max positive int
-020000000001, // float value, beyond max negative int
0.0,
-0.1,
1.0,
1e5,
-1e6,
1E8,
-1E9,
10.0000000000000000005,
10.5e+5
);
$hexa_formats = array( "%x",
"%hx", "%lx", "%Lx",
" %x", "%x ", "% x",
"\t%x", "\n%x", "%4x",
"%30x", "%[0-9A-Za-z]", "%*x");
$counter = 1;
// writing to the file
foreach($float_values as $value) {
@fprintf($file_handle, $value);
@fprintf($file_handle, "\n");
}
// closing the file
fclose($file_handle);
// opening the file for reading
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
$counter = 1;
// reading the values from file using different hexa formats
foreach($hexa_formats as $hexa_format) {
// rewind the file so that for every foreach iteration the file pointer starts from bof
rewind($file_handle);
echo "\n-- iteration $counter --\n";
while( !feof($file_handle) ) {
var_dump( fscanf($file_handle,$hexa_format) );
}
$counter++;
}
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation34.tmp";
unlink($filename);
?>
--EXPECTF--
*** Test fscanf(): different hexa format types with float values ***
-- iteration 1 --
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1048576)
}
array(1) {
[0]=>
int(-16777216)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(16)
}
array(1) {
[0]=>
int(17104896)
}
bool(false)
-- iteration 2 --
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1048576)
}
array(1) {
[0]=>
int(-16777216)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(16)
}
array(1) {
[0]=>
int(17104896)
}
bool(false)
-- iteration 3 --
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1048576)
}
array(1) {
[0]=>
int(-16777216)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(16)
}
array(1) {
[0]=>
int(17104896)
}
bool(false)
-- iteration 4 --
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1048576)
}
array(1) {
[0]=>
int(-16777216)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(16)
}
array(1) {
[0]=>
int(17104896)
}
bool(false)
-- iteration 5 --
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1048576)
}
array(1) {
[0]=>
int(-16777216)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(16)
}
array(1) {
[0]=>
int(17104896)
}
bool(false)
-- iteration 6 --
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1048576)
}
array(1) {
[0]=>
int(-16777216)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(16)
}
array(1) {
[0]=>
int(17104896)
}
bool(false)
-- iteration 7 --
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
bool(false)
-- iteration 8 --
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1048576)
}
array(1) {
[0]=>
int(-16777216)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(16)
}
array(1) {
[0]=>
int(17104896)
}
bool(false)
-- iteration 9 --
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1048576)
}
array(1) {
[0]=>
int(-16777216)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(16)
}
array(1) {
[0]=>
int(17104896)
}
bool(false)
-- iteration 10 --
array(1) {
[0]=>
int(-532)
}
array(1) {
[0]=>
int(8519)
}
array(1) {
[0]=>
int(-532)
}
array(1) {
[0]=>
int(13365)
}
array(1) {
[0]=>
int(8519)
}
array(1) {
[0]=>
int(-532)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(4096)
}
array(1) {
[0]=>
int(-256)
}
array(1) {
[0]=>
int(4096)
}
array(1) {
[0]=>
int(-256)
}
array(1) {
[0]=>
int(16)
}
array(1) {
[0]=>
int(4176)
}
bool(false)
-- iteration 11 --
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1048576)
}
array(1) {
[0]=>
int(-16777216)
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(-2147483648)
}
array(1) {
[0]=>
int(16)
}
array(1) {
[0]=>
int(17104896)
}
bool(false)
-- iteration 12 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(10) "2147483648"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(11) "34359738369"
}
array(1) {
[0]=>
string(10) "2147483649"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(6) "100000"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(9) "100000000"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(2) "10"
}
array(1) {
[0]=>
string(7) "1050000"
}
bool(false)
-- iteration 13 --
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
bool(false)
*** Done ***

View File

@ -0,0 +1,216 @@
--TEST--
Test fscanf() function: usage variations - hexa formats with resource
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan resource type using different hexa format types */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): different hexa format types with resource ***\n";
// create a file
$filename = "$file_path/fscanf_variation35.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
// resource type variable
$fp = fopen (__FILE__, "r");
$dfp = opendir ( dirname(__FILE__) );
// array of resource types
$resource_types = array (
$fp,
$dfp
);
$hexa_formats = array( "%x", "%hx", "%lx", "%Lx", " %x", "%x ", "% x", "\t%x", "\n%x", "%4x", "%30x", "%[0-9]", "%*x");
$counter = 1;
// writing to the file
foreach($resource_types as $value) {
@fprintf($file_handle, $value);
@fprintf($file_handle, "\n");
}
// closing the file
fclose($file_handle);
// opening the file for reading
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
$counter = 1;
// reading the values from file using different hexa formats
foreach($hexa_formats as $hexa_format) {
// rewind the file so that for every foreach iteration the file pointer starts from bof
rewind($file_handle);
echo "\n-- iteration $counter --\n";
while( !feof($file_handle) ) {
var_dump( fscanf($file_handle,$hexa_format) );
}
$counter++;
}
// closing the resources
fclose($fp);
fclose($dfp);
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation35.tmp";
unlink($filename);
?>
--EXPECTF--
*** Test fscanf(): different hexa format types with resource ***
-- iteration 1 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 2 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 3 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 4 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 5 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 6 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 7 --
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
bool(false)
-- iteration 8 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 9 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 10 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 11 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 12 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 13 --
array(0) {
}
array(0) {
}
bool(false)
*** Done ***

View File

@ -0,0 +1,707 @@
--TEST--
Test fscanf() function: usage variations - hexa formats with arrays
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan arrays using different hexa format types */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): different hexa format types with arrays ***\n";
// create a file
$filename = "$file_path/fscanf_variation36.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
// array types
$array_types = array (
array(),
array(0),
array(1),
array(NULL),
array(null),
array("string"),
array(true),
array(TRUE),
array(false),
array(FALSE),
array(1,2,3,4),
array(1 => "One", "two" => 2)
);
$hexa_formats = array( "%x", "%hx", "%lx", "%Lx", " %x", "%x ", "% x", "\t%x", "\n%x", "%4x", "%30x", "%[0-9]", "%*x");
$counter = 1;
// writing to the file
foreach($array_types as $value) {
@fprintf($file_handle, $value);
@fprintf($file_handle, "\n");
}
// closing the file
fclose($file_handle);
// opening the file for reading
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
$counter = 1;
// reading the values from file using different hexa formats
foreach($hexa_formats as $hexa_format) {
// rewind the file so that for every foreach iteration the file pointer starts from bof
rewind($file_handle);
echo "\n-- iteration $counter --\n";
while( !feof($file_handle) ) {
var_dump( fscanf($file_handle,$hexa_format) );
}
$counter++;
}
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation36.tmp";
unlink($filename);
?>
--EXPECTF--
*** Test fscanf(): different hexa format types with arrays ***
-- iteration 1 --
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
bool(false)
-- iteration 2 --
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
bool(false)
-- iteration 3 --
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
bool(false)
-- iteration 4 --
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
bool(false)
-- iteration 5 --
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
bool(false)
-- iteration 6 --
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
bool(false)
-- iteration 7 --
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
bool(false)
-- iteration 8 --
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
bool(false)
-- iteration 9 --
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
bool(false)
-- iteration 10 --
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
bool(false)
-- iteration 11 --
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(10)
}
bool(false)
-- iteration 12 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 13 --
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
bool(false)
*** Done ***

View File

@ -0,0 +1,945 @@
--TEST--
Test fscanf() function: usage variations - hexa formats with strings
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan strings using different hexa format types */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): different hexa format types with strings ***\n";
// create a file
$filename = "$file_path/fscanf_variation37.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
// array of strings
$strings = array (
"",
'',
"0",
'0',
"1",
'1',
"\x01",
'\x01',
"\01",
'\01',
'string',
"string",
"true",
"FALSE",
'false',
'TRUE',
"NULL",
'null'
);
$hexa_formats = array( "%x", "%hx", "%lx", "%Lx", " %x", "%x ", "% x", "\t%x", "\n%x", "%4x", "%30x", "%[0-9]", "%*x");
$counter = 1;
// writing to the file
foreach($strings as $string) {
@fprintf($file_handle, $string);
@fprintf($file_handle, "\n");
}
// closing the file
fclose($file_handle);
// opening the file for reading
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
$counter = 1;
// reading the values from file using different hexa formats
foreach($hexa_formats as $hexa_format) {
// rewind the file so that for every foreach iteration the file pointer starts from bof
rewind($file_handle);
echo "\n-- iteration $counter --\n";
while( !feof($file_handle) ) {
var_dump( fscanf($file_handle,$hexa_format) );
}
$counter++;
}
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation37.tmp";
unlink($filename);
?>
--EXPECTF--
*** Test fscanf(): different hexa format types with strings ***
-- iteration 1 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
int(250)
}
array(1) {
[0]=>
int(250)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 2 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
int(250)
}
array(1) {
[0]=>
int(250)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 3 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
int(250)
}
array(1) {
[0]=>
int(250)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 4 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
int(250)
}
array(1) {
[0]=>
int(250)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 5 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
int(250)
}
array(1) {
[0]=>
int(250)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 6 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
int(250)
}
array(1) {
[0]=>
int(250)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 7 --
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
bool(false)
-- iteration 8 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
int(250)
}
array(1) {
[0]=>
int(250)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 9 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
int(250)
}
array(1) {
[0]=>
int(250)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 10 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
int(250)
}
array(1) {
[0]=>
int(250)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 11 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
int(250)
}
array(1) {
[0]=>
int(250)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 12 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 13 --
NULL
NULL
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
bool(false)
*** Done ***

View File

@ -0,0 +1,245 @@
--TEST--
Test fscanf() function: usage variations - hexa formats with boolean
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan boolean data using different hexa format types */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): different hexa format types with boolean data ***\n";
// create a file
$filename = "$file_path/fscanf_variation38.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
// array of boolean types
$bool_types = array (
true,
false,
TRUE,
FALSE,
);
$hexa_formats = array( "%x", "%hx", "%lx", "%Lx", " %x", "%x ", "% x", "\t%x", "\n%x", "%4x", "%30x", "%[0-9]", "%*x");
$counter = 1;
// writing to the file
foreach($bool_types as $value) {
@fprintf($file_handle, $value);
@fprintf($file_handle, "\n");
}
// closing the file
fclose($file_handle);
// opening the file for reading
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
$counter = 1;
// reading the values from file using different hexa formats
foreach($hexa_formats as $hexa_format) {
// rewind the file so that for every foreach iteration the file pointer starts from bof
rewind($file_handle);
echo "\n-- iteration $counter --\n";
while( !feof($file_handle) ) {
var_dump( fscanf($file_handle,$hexa_format) );
}
$counter++;
}
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation38.tmp";
unlink($filename);
?>
--EXPECTF--
*** Test fscanf(): different hexa format types with boolean data ***
-- iteration 1 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 2 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 3 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 4 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 5 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 6 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 7 --
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
bool(false)
-- iteration 8 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 9 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 10 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 11 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 12 --
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 13 --
array(0) {
}
NULL
array(0) {
}
NULL
bool(false)
*** Done ***

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,217 @@
--TEST--
Test fscanf() function: usage variations - integer formats with resource
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan resource type using different integer format types */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): different integer format types with resource ***\n";
// create a file
$filename = "$file_path/fscanf_variation4.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
// non-integer type of data
// resource type variable
$fp = fopen (__FILE__, "r");
$dfp = opendir ( dirname(__FILE__) );
// array of resource types
$resource_types = array (
$fp,
$dfp
);
$int_formats = array( "%d", "%hd", "%ld", "%Ld", " %d", "%d ", "% d", "\t%d", "\n%d", "%4d", "%30d", "%[0-9]", "%*d");
$counter = 1;
// writing to the file
foreach($resource_types as $value) {
fprintf($file_handle, $value);
fprintf($file_handle, "\n");
}
// closing the file
fclose($file_handle);
// opening the file for reading
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
$counter = 1;
// reading the values from file using different integer formats
foreach($int_formats as $int_format) {
// rewind the file so that for every foreach iteration the file pointer starts from bof
rewind($file_handle);
echo "\n-- iteration $counter --\n";
while( !feof($file_handle) ) {
var_dump( fscanf($file_handle,$int_format) );
}
$counter++;
}
// closing the resources
fclose($fp);
fclose($dfp);
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation4.tmp";
unlink($filename);
?>
--EXPECTF--
*** Test fscanf(): different integer format types with resource ***
-- iteration 1 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 2 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 3 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 4 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 5 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 6 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 7 --
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
bool(false)
-- iteration 8 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 9 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 10 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 11 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 12 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 13 --
array(0) {
}
array(0) {
}
bool(false)
*** Done ***

View File

@ -0,0 +1,858 @@
--TEST--
Test fscanf() function: usage variations - unsigned formats with float values
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan float values using different unsigned format types */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): different unsigned format types with float values ***\n";
// create a file
$filename = "$file_path/fscanf_variation40.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
// array of float type values
$float_values = array (
-2147483649,
2147483648,
-0x80000001, // float value, beyond max negative int
0x800000001, // float value, beyond max positive int
020000000001, // float value, beyond max positive int
-020000000001, // float value, beyond max negative int
0.0,
-0.1,
1.0,
1e5,
-1e6,
1E8,
-1E9,
10.0000000000000000005,
10.5e+5
);
$unsigned_formats = array( "%u", "%hu", "%lu", "%Lu", " %u", "%u ", "% u", "\t%u", "\n%u", "%4u", "%30u", "%[0-9]", "%*u");
$counter = 1;
// writing to the file
foreach($float_values as $value) {
@fprintf($file_handle, $value);
@fprintf($file_handle, "\n");
}
// closing the file
fclose($file_handle);
// opening the file for reading
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
$counter = 1;
// reading the values from file using different unsigned formats
foreach($unsigned_formats as $unsigned_format) {
// rewind the file so that for every foreach iteration the file pointer starts from bof
rewind($file_handle);
echo "\n-- iteration $counter --\n";
while( !feof($file_handle) ) {
var_dump( fscanf($file_handle,$unsigned_format) );
}
$counter++;
}
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation40.tmp";
unlink($filename);
?>
--EXPECTF--
*** Test fscanf(): different unsigned format types with float values ***
-- iteration 1 --
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
string(10) "2147483648"
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
string(10) "4294967295"
}
array(1) {
[0]=>
string(10) "2147483649"
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(100000)
}
array(1) {
[0]=>
string(10) "4293967296"
}
array(1) {
[0]=>
int(100000000)
}
array(1) {
[0]=>
string(10) "3294967296"
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(1050000)
}
bool(false)
-- iteration 2 --
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
string(10) "2147483648"
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
string(10) "4294967295"
}
array(1) {
[0]=>
string(10) "2147483649"
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(100000)
}
array(1) {
[0]=>
string(10) "4293967296"
}
array(1) {
[0]=>
int(100000000)
}
array(1) {
[0]=>
string(10) "3294967296"
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(1050000)
}
bool(false)
-- iteration 3 --
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
string(10) "2147483648"
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
string(10) "4294967295"
}
array(1) {
[0]=>
string(10) "2147483649"
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(100000)
}
array(1) {
[0]=>
string(10) "4293967296"
}
array(1) {
[0]=>
int(100000000)
}
array(1) {
[0]=>
string(10) "3294967296"
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(1050000)
}
bool(false)
-- iteration 4 --
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
string(10) "2147483648"
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
string(10) "4294967295"
}
array(1) {
[0]=>
string(10) "2147483649"
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(100000)
}
array(1) {
[0]=>
string(10) "4293967296"
}
array(1) {
[0]=>
int(100000000)
}
array(1) {
[0]=>
string(10) "3294967296"
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(1050000)
}
bool(false)
-- iteration 5 --
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
string(10) "2147483648"
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
string(10) "4294967295"
}
array(1) {
[0]=>
string(10) "2147483649"
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(100000)
}
array(1) {
[0]=>
string(10) "4293967296"
}
array(1) {
[0]=>
int(100000000)
}
array(1) {
[0]=>
string(10) "3294967296"
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(1050000)
}
bool(false)
-- iteration 6 --
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
string(10) "2147483648"
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
string(10) "4294967295"
}
array(1) {
[0]=>
string(10) "2147483649"
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(100000)
}
array(1) {
[0]=>
string(10) "4293967296"
}
array(1) {
[0]=>
int(100000000)
}
array(1) {
[0]=>
string(10) "3294967296"
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(1050000)
}
bool(false)
-- iteration 7 --
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
bool(false)
-- iteration 8 --
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
string(10) "2147483648"
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
string(10) "4294967295"
}
array(1) {
[0]=>
string(10) "2147483649"
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(100000)
}
array(1) {
[0]=>
string(10) "4293967296"
}
array(1) {
[0]=>
int(100000000)
}
array(1) {
[0]=>
string(10) "3294967296"
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(1050000)
}
bool(false)
-- iteration 9 --
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
string(10) "2147483648"
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
string(10) "4294967295"
}
array(1) {
[0]=>
string(10) "2147483649"
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(100000)
}
array(1) {
[0]=>
string(10) "4293967296"
}
array(1) {
[0]=>
int(100000000)
}
array(1) {
[0]=>
string(10) "3294967296"
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(1050000)
}
bool(false)
-- iteration 10 --
array(1) {
[0]=>
string(10) "4294967082"
}
array(1) {
[0]=>
int(2147)
}
array(1) {
[0]=>
string(10) "4294967082"
}
array(1) {
[0]=>
int(3435)
}
array(1) {
[0]=>
int(2147)
}
array(1) {
[0]=>
string(10) "4294967082"
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1000)
}
array(1) {
[0]=>
string(10) "4294967196"
}
array(1) {
[0]=>
int(1000)
}
array(1) {
[0]=>
string(10) "4294967196"
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(1050)
}
bool(false)
-- iteration 11 --
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
string(10) "2147483648"
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
string(10) "4294967295"
}
array(1) {
[0]=>
string(10) "2147483649"
}
array(1) {
[0]=>
int(2147483647)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(100000)
}
array(1) {
[0]=>
string(10) "4293967296"
}
array(1) {
[0]=>
int(100000000)
}
array(1) {
[0]=>
string(10) "3294967296"
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(1050000)
}
bool(false)
-- iteration 12 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(10) "2147483648"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(11) "34359738369"
}
array(1) {
[0]=>
string(10) "2147483649"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(6) "100000"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(9) "100000000"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(2) "10"
}
array(1) {
[0]=>
string(7) "1050000"
}
bool(false)
-- iteration 13 --
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
bool(false)
*** Done ***

View File

@ -0,0 +1,216 @@
--TEST--
Test fscanf() function: usage variations - unsigned formats with resource
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan resource type using different unsigned format types */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): different unsigned format types with resource ***\n";
// create a file
$filename = "$file_path/fscanf_variation41.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
// resource type variable
$fp = fopen (__FILE__, "r");
$dfp = opendir ( dirname(__FILE__) );
// array of resource types
$resource_types = array (
$fp,
$dfp
);
$unsigned_formats = array( "%u", "%hu", "%lu", "%Lu", " %u", "%u ", "% u", "\t%u", "\n%u", "%4u", "%30u", "%[0-9]", "%*u");
$counter = 1;
// writing to the file
foreach($resource_types as $value) {
@fprintf($file_handle, $value);
@fprintf($file_handle, "\n");
}
// closing the file
fclose($file_handle);
// opening the file for reading
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
$counter = 1;
// reading the values from file using different unsigned formats
foreach($unsigned_formats as $unsigned_format) {
// rewind the file so that for every foreach iteration the file pointer starts from bof
rewind($file_handle);
echo "\n-- iteration $counter --\n";
while( !feof($file_handle) ) {
var_dump( fscanf($file_handle,$unsigned_format) );
}
$counter++;
}
// closing the resources
fclose($fp);
fclose($dfp);
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation41.tmp";
unlink($filename);
?>
--EXPECTF--
*** Test fscanf(): different unsigned format types with resource ***
-- iteration 1 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 2 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 3 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 4 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 5 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 6 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 7 --
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
bool(false)
-- iteration 8 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 9 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 10 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 11 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 12 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 13 --
array(0) {
}
array(0) {
}
bool(false)
*** Done ***

View File

@ -0,0 +1,707 @@
--TEST--
Test fscanf() function: usage variations - unsigned formats with arrays
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan arrays using different unsigned format types */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): different unsigned format types with arrays ***\n";
// create a file
$filename = "$file_path/fscanf_variation42.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
// array types
$array_types = array (
array(),
array(0),
array(1),
array(NULL),
array(null),
array("string"),
array(true),
array(TRUE),
array(false),
array(FALSE),
array(1,2,3,4),
array(1 => "One", "two" => 2)
);
$unsigned_formats = array( "%u", "%hu", "%lu", "%Lu", " %u", "%u ", "% u", "\t%u", "\n%u", "%4u", "%30u", "%[0-9]", "%*u");
$counter = 1;
// writing to the file
foreach($array_types as $value) {
@fprintf($file_handle, $value);
@fprintf($file_handle, "\n");
}
// closing the file
fclose($file_handle);
// opening the file for reading
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
$counter = 1;
// reading the values from file using different unsigned formats
foreach($unsigned_formats as $unsigned_format) {
// rewind the file so that for every foreach iteration the file pointer starts from bof
rewind($file_handle);
echo "\n-- iteration $counter --\n";
while( !feof($file_handle) ) {
var_dump( fscanf($file_handle,$unsigned_format) );
}
$counter++;
}
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation42.tmp";
unlink($filename);
?>
--EXPECTF--
*** Test fscanf(): different unsigned format types with arrays ***
-- iteration 1 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 2 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 3 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 4 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 5 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 6 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 7 --
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
bool(false)
-- iteration 8 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 9 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 10 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 11 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 12 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 13 --
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
bool(false)
*** Done ***

View File

@ -0,0 +1,945 @@
--TEST--
Test fscanf() function: usage variations - unsigned formats with strings
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan strings using different unsigned format types */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): different unsigned format types with strings ***\n";
// create a file
$filename = "$file_path/fscanf_variation43.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
// array of strings
$strings = array (
"",
'',
"0",
'0',
"1",
'1',
"\x01",
'\x01',
"\01",
'\01',
'string',
"string",
"true",
"FALSE",
'false',
'TRUE',
"NULL",
'null'
);
$unsigned_formats = array( "%u", "%hu", "%lu", "%Lu", " %u", "%u ", "% u", "\t%u", "\n%u", "%4u", "%30u", "%[0-9]", "%*u");
$counter = 1;
// writing to the file
foreach($strings as $string) {
@fprintf($file_handle, $string);
@fprintf($file_handle, "\n");
}
// closing the file
fclose($file_handle);
// opening the file for reading
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
$counter = 1;
// reading the values from file using different unsigned formats
foreach($unsigned_formats as $unsigned_format) {
// rewind the file so that for every foreach iteration the file pointer starts from bof
rewind($file_handle);
echo "\n-- iteration $counter --\n";
while( !feof($file_handle) ) {
var_dump( fscanf($file_handle,$unsigned_format) );
}
$counter++;
}
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation43.tmp";
unlink($filename);
?>
--EXPECTF--
*** Test fscanf(): different unsigned format types with strings ***
-- iteration 1 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 2 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 3 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 4 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 5 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 6 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 7 --
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
bool(false)
-- iteration 8 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 9 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 10 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 11 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 12 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 13 --
NULL
NULL
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
bool(false)
*** Done ***

View File

@ -0,0 +1,245 @@
--TEST--
Test fscanf() function: usage variations - unsigned formats with boolean
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan boolean data using different unsigned format types */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): different unsigned format types with boolean data ***\n";
// create a file
$filename = "$file_path/fscanf_variation44.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
// array of boolean types
$bool_types = array (
true,
false,
TRUE,
FALSE,
);
$unsigned_formats = array( "%u", "%hu", "%lu", "%Lu", " %u", "%u ", "% u", "\t%u", "\n%u", "%4u", "%30u", "%[0-9]", "%*u");
$counter = 1;
// writing to the file
foreach($bool_types as $value) {
@fprintf($file_handle, $value);
@fprintf($file_handle, "\n");
}
// closing the file
fclose($file_handle);
// opening the file for reading
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
$counter = 1;
// reading the values from file using different unsigned formats
foreach($unsigned_formats as $unsigned_format) {
// rewind the file so that for every foreach iteration the file pointer starts from bof
rewind($file_handle);
echo "\n-- iteration $counter --\n";
while( !feof($file_handle) ) {
var_dump( fscanf($file_handle,$unsigned_format) );
}
$counter++;
}
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation44.tmp";
unlink($filename);
?>
--EXPECTF--
*** Test fscanf(): different unsigned format types with boolean data ***
-- iteration 1 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 2 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 3 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 4 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 5 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 6 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 7 --
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
bool(false)
-- iteration 8 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 9 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 10 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 11 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 12 --
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 13 --
array(0) {
}
NULL
array(0) {
}
NULL
bool(false)
*** Done ***

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,858 @@
--TEST--
Test fscanf() function: usage variations - scientific formats with float values
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan float values using different scientific format types */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): different scientific format types with float values ***\n";
// create a file
$filename = "$file_path/fscanf_variation46.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
// array of float type values
$float_values = array (
-2147483649,
2147483648,
-0x80000001, // float value, beyond max negative int
0x800000001, // float value, beyond max positive int
020000000001, // float value, beyond max positive int
-020000000001, // float value, beyond max negative int
0.0,
-0.1,
1.0,
1e5,
-1e6,
1E8,
-1E9,
10.0000000000000000005,
10.5e+5
);
$scientific_formats = array( "%e", "%he", "%le", "%Le", " %e", "%e ", "% e", "\t%e", "\n%e", "%4e", "%30e", "%[0-9]", "%*e");
$counter = 1;
// writing to the file
foreach($float_values as $value) {
@fprintf($file_handle, $value);
@fprintf($file_handle, "\n");
}
// closing the file
fclose($file_handle);
// opening the file for reading
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
$counter = 1;
// reading the values from file using different scientific formats
foreach($scientific_formats as $scientific_format) {
// rewind the file so that for every foreach iteration the file pointer starts from bof
rewind($file_handle);
echo "\n-- iteration $counter --\n";
while( !feof($file_handle) ) {
var_dump( fscanf($file_handle,$scientific_format) );
}
$counter++;
}
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation46.tmp";
unlink($filename);
?>
--EXPECTF--
*** Test fscanf(): different scientific format types with float values ***
-- iteration 1 --
array(1) {
[0]=>
float(-2147483649)
}
array(1) {
[0]=>
float(2147483648)
}
array(1) {
[0]=>
float(-2147483649)
}
array(1) {
[0]=>
float(34359738369)
}
array(1) {
[0]=>
float(2147483649)
}
array(1) {
[0]=>
float(-2147483649)
}
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(-0.1)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
float(100000)
}
array(1) {
[0]=>
float(-1000000)
}
array(1) {
[0]=>
float(100000000)
}
array(1) {
[0]=>
float(-1000000000)
}
array(1) {
[0]=>
float(10)
}
array(1) {
[0]=>
float(1050000)
}
bool(false)
-- iteration 2 --
array(1) {
[0]=>
float(-2147483649)
}
array(1) {
[0]=>
float(2147483648)
}
array(1) {
[0]=>
float(-2147483649)
}
array(1) {
[0]=>
float(34359738369)
}
array(1) {
[0]=>
float(2147483649)
}
array(1) {
[0]=>
float(-2147483649)
}
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(-0.1)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
float(100000)
}
array(1) {
[0]=>
float(-1000000)
}
array(1) {
[0]=>
float(100000000)
}
array(1) {
[0]=>
float(-1000000000)
}
array(1) {
[0]=>
float(10)
}
array(1) {
[0]=>
float(1050000)
}
bool(false)
-- iteration 3 --
array(1) {
[0]=>
float(-2147483649)
}
array(1) {
[0]=>
float(2147483648)
}
array(1) {
[0]=>
float(-2147483649)
}
array(1) {
[0]=>
float(34359738369)
}
array(1) {
[0]=>
float(2147483649)
}
array(1) {
[0]=>
float(-2147483649)
}
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(-0.1)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
float(100000)
}
array(1) {
[0]=>
float(-1000000)
}
array(1) {
[0]=>
float(100000000)
}
array(1) {
[0]=>
float(-1000000000)
}
array(1) {
[0]=>
float(10)
}
array(1) {
[0]=>
float(1050000)
}
bool(false)
-- iteration 4 --
array(1) {
[0]=>
float(-2147483649)
}
array(1) {
[0]=>
float(2147483648)
}
array(1) {
[0]=>
float(-2147483649)
}
array(1) {
[0]=>
float(34359738369)
}
array(1) {
[0]=>
float(2147483649)
}
array(1) {
[0]=>
float(-2147483649)
}
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(-0.1)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
float(100000)
}
array(1) {
[0]=>
float(-1000000)
}
array(1) {
[0]=>
float(100000000)
}
array(1) {
[0]=>
float(-1000000000)
}
array(1) {
[0]=>
float(10)
}
array(1) {
[0]=>
float(1050000)
}
bool(false)
-- iteration 5 --
array(1) {
[0]=>
float(-2147483649)
}
array(1) {
[0]=>
float(2147483648)
}
array(1) {
[0]=>
float(-2147483649)
}
array(1) {
[0]=>
float(34359738369)
}
array(1) {
[0]=>
float(2147483649)
}
array(1) {
[0]=>
float(-2147483649)
}
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(-0.1)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
float(100000)
}
array(1) {
[0]=>
float(-1000000)
}
array(1) {
[0]=>
float(100000000)
}
array(1) {
[0]=>
float(-1000000000)
}
array(1) {
[0]=>
float(10)
}
array(1) {
[0]=>
float(1050000)
}
bool(false)
-- iteration 6 --
array(1) {
[0]=>
float(-2147483649)
}
array(1) {
[0]=>
float(2147483648)
}
array(1) {
[0]=>
float(-2147483649)
}
array(1) {
[0]=>
float(34359738369)
}
array(1) {
[0]=>
float(2147483649)
}
array(1) {
[0]=>
float(-2147483649)
}
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(-0.1)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
float(100000)
}
array(1) {
[0]=>
float(-1000000)
}
array(1) {
[0]=>
float(100000000)
}
array(1) {
[0]=>
float(-1000000000)
}
array(1) {
[0]=>
float(10)
}
array(1) {
[0]=>
float(1050000)
}
bool(false)
-- iteration 7 --
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
bool(false)
-- iteration 8 --
array(1) {
[0]=>
float(-2147483649)
}
array(1) {
[0]=>
float(2147483648)
}
array(1) {
[0]=>
float(-2147483649)
}
array(1) {
[0]=>
float(34359738369)
}
array(1) {
[0]=>
float(2147483649)
}
array(1) {
[0]=>
float(-2147483649)
}
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(-0.1)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
float(100000)
}
array(1) {
[0]=>
float(-1000000)
}
array(1) {
[0]=>
float(100000000)
}
array(1) {
[0]=>
float(-1000000000)
}
array(1) {
[0]=>
float(10)
}
array(1) {
[0]=>
float(1050000)
}
bool(false)
-- iteration 9 --
array(1) {
[0]=>
float(-2147483649)
}
array(1) {
[0]=>
float(2147483648)
}
array(1) {
[0]=>
float(-2147483649)
}
array(1) {
[0]=>
float(34359738369)
}
array(1) {
[0]=>
float(2147483649)
}
array(1) {
[0]=>
float(-2147483649)
}
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(-0.1)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
float(100000)
}
array(1) {
[0]=>
float(-1000000)
}
array(1) {
[0]=>
float(100000000)
}
array(1) {
[0]=>
float(-1000000000)
}
array(1) {
[0]=>
float(10)
}
array(1) {
[0]=>
float(1050000)
}
bool(false)
-- iteration 10 --
array(1) {
[0]=>
float(-214)
}
array(1) {
[0]=>
float(2147)
}
array(1) {
[0]=>
float(-214)
}
array(1) {
[0]=>
float(3435)
}
array(1) {
[0]=>
float(2147)
}
array(1) {
[0]=>
float(-214)
}
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(-0.1)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
float(1000)
}
array(1) {
[0]=>
float(-100)
}
array(1) {
[0]=>
float(1000)
}
array(1) {
[0]=>
float(-100)
}
array(1) {
[0]=>
float(10)
}
array(1) {
[0]=>
float(1050)
}
bool(false)
-- iteration 11 --
array(1) {
[0]=>
float(-2147483649)
}
array(1) {
[0]=>
float(2147483648)
}
array(1) {
[0]=>
float(-2147483649)
}
array(1) {
[0]=>
float(34359738369)
}
array(1) {
[0]=>
float(2147483649)
}
array(1) {
[0]=>
float(-2147483649)
}
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(-0.1)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
float(100000)
}
array(1) {
[0]=>
float(-1000000)
}
array(1) {
[0]=>
float(100000000)
}
array(1) {
[0]=>
float(-1000000000)
}
array(1) {
[0]=>
float(10)
}
array(1) {
[0]=>
float(1050000)
}
bool(false)
-- iteration 12 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(10) "2147483648"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(11) "34359738369"
}
array(1) {
[0]=>
string(10) "2147483649"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(6) "100000"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(9) "100000000"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(2) "10"
}
array(1) {
[0]=>
string(7) "1050000"
}
bool(false)
-- iteration 13 --
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
bool(false)
*** Done ***

View File

@ -0,0 +1,216 @@
--TEST--
Test fscanf() function: usage variations - scientific formats with resource
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan resource type using different scientific format types */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): different scientific format types with resource ***\n";
// create a file
$filename = "$file_path/fscanf_variation47.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
// resource type variable
$fp = fopen (__FILE__, "r");
$dfp = opendir ( dirname(__FILE__) );
// array of resource types
$resource_types = array (
$fp,
$dfp
);
$scientific_formats = array( "%e", "%he", "%le", "%Le", " %e", "%e ", "% e", "\t%e", "\n%e", "%4e", "%30e", "%[0-9]", "%*e");
$counter = 1;
// writing to the file
foreach($resource_types as $value) {
@fprintf($file_handle, $value);
@fprintf($file_handle, "\n");
}
// closing the file
fclose($file_handle);
// opening the file for reading
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
$counter = 1;
// reading the values from file using different scientific formats
foreach($scientific_formats as $scientific_format) {
// rewind the file so that for every foreach iteration the file pointer starts from bof
rewind($file_handle);
echo "\n-- iteration $counter --\n";
while( !feof($file_handle) ) {
var_dump( fscanf($file_handle,$scientific_format) );
}
$counter++;
}
// closing the resources
fclose($fp);
fclose($dfp);
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation47.tmp";
unlink($filename);
?>
--EXPECTF--
*** Test fscanf(): different scientific format types with resource ***
-- iteration 1 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 2 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 3 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 4 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 5 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 6 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 7 --
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
bool(false)
-- iteration 8 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 9 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 10 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 11 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 12 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 13 --
array(0) {
}
array(0) {
}
bool(false)
*** Done ***

View File

@ -0,0 +1,707 @@
--TEST--
Test fscanf() function: usage variations - scientific formats with arrays
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan arrays using different scientific format types */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): different scientific format types with arrays ***\n";
// create a file
$filename = "$file_path/fscanf_variation48.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
// array types
$array_types = array (
array(),
array(0),
array(1),
array(NULL),
array(null),
array("string"),
array(true),
array(TRUE),
array(false),
array(FALSE),
array(1,2,3,4),
array(1 => "One", "two" => 2)
);
$scientific_formats = array( "%e", "%he", "%le", "%Le", " %e", "%e ", "% e", "\t%e", "\n%e", "%4e", "%30e", "%[0-9]", "%*e");
$counter = 1;
// writing to the file
foreach($array_types as $value) {
@fprintf($file_handle, $value);
@fprintf($file_handle, "\n");
}
// closing the file
fclose($file_handle);
// opening the file for reading
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
$counter = 1;
// reading the values from file using different scientific formats
foreach($scientific_formats as $scientific_format) {
// rewind the file so that for every foreach iteration the file pointer starts from bof
rewind($file_handle);
echo "\n-- iteration $counter --\n";
while( !feof($file_handle) ) {
var_dump( fscanf($file_handle,$scientific_format) );
}
$counter++;
}
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation48.tmp";
unlink($filename);
?>
--EXPECTF--
*** Test fscanf(): different scientific format types with arrays ***
-- iteration 1 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 2 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 3 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 4 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 5 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 6 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 7 --
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
bool(false)
-- iteration 8 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 9 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 10 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 11 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 12 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 13 --
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
bool(false)
*** Done ***

View File

@ -0,0 +1,945 @@
--TEST--
Test fscanf() function: usage variations - scientific formats with strings
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan strings using different scientific format types */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): different scientific format types with strings ***\n";
// create a file
$filename = "$file_path/fscanf_variation49.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
// array of strings
$strings = array (
"",
'',
"0",
'0',
"1",
'1',
"\x01",
'\x01',
"\01",
'\01',
'string',
"string",
"true",
"FALSE",
'false',
'TRUE',
"NULL",
'null'
);
$scientific_formats = array( "%e", "%he", "%le", "%Le", " %e", "%e ", "% e", "\t%e", "\n%e", "%4e", "%30e", "%[0-9]", "%*e");
$counter = 1;
// writing to the file
foreach($strings as $string) {
@fprintf($file_handle, $string);
@fprintf($file_handle, "\n");
}
// closing the file
fclose($file_handle);
// opening the file for reading
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
$counter = 1;
// reading the values from file using different scientific formats
foreach($scientific_formats as $scientific_format) {
// rewind the file so that for every foreach iteration the file pointer starts from bof
rewind($file_handle);
echo "\n-- iteration $counter --\n";
while( !feof($file_handle) ) {
var_dump( fscanf($file_handle,$scientific_format) );
}
$counter++;
}
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation49.tmp";
unlink($filename);
?>
--EXPECTF--
*** Test fscanf(): different scientific format types with strings ***
-- iteration 1 --
NULL
NULL
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 2 --
NULL
NULL
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 3 --
NULL
NULL
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 4 --
NULL
NULL
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 5 --
NULL
NULL
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 6 --
NULL
NULL
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 7 --
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
bool(false)
-- iteration 8 --
NULL
NULL
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 9 --
NULL
NULL
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 10 --
NULL
NULL
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 11 --
NULL
NULL
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(0)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
float(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 12 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 13 --
NULL
NULL
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
bool(false)
*** Done ***

View File

@ -0,0 +1,731 @@
--TEST--
Test fscanf() function: usage variations - integer formats with arrays
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan arrays using different integer format types */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): different integer format types with arrays ***\n";
// create a file
$filename = "$file_path/fscanf_variation5.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
// array types
$array_types = array (
array(),
array(0),
array(1),
array(NULL),
array(null),
array("string"),
array(true),
array(TRUE),
array(false),
array(FALSE),
array(1,2,3,4),
array(1 => "One", "two" => 2)
);
$int_formats = array( "%d", "%hd", "%ld", "%Ld", " %d", "%d ", "% d", "\t%d", "\n%d", "%4d", "%30d", "%[0-9]", "%*d");
$counter = 1;
// writing to the file
foreach($array_types as $value) {
fprintf($file_handle, $value);
fprintf($file_handle, "\n");
}
// closing the file
fclose($file_handle);
// opening the file for reading
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
$counter = 1;
// reading the values from file using different integer formats
foreach($int_formats as $int_format) {
// rewind the file so that for every foreach iteration the file pointer starts from bof
rewind($file_handle);
echo "\n-- iteration $counter --\n";
while( !feof($file_handle) ) {
var_dump( fscanf($file_handle,$int_format) );
}
$counter++;
}
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation5.tmp";
unlink($filename);
?>
--EXPECTF--
*** Test fscanf(): different integer format types with arrays ***
Notice: Array to string conversion in %s on line %d
Notice: Array to string conversion in %s on line %d
Notice: Array to string conversion in %s on line %d
Notice: Array to string conversion in %s on line %d
Notice: Array to string conversion in %s on line %d
Notice: Array to string conversion in %s on line %d
Notice: Array to string conversion in %s on line %d
Notice: Array to string conversion in %s on line %d
Notice: Array to string conversion in %s on line %d
Notice: Array to string conversion in %s on line %d
Notice: Array to string conversion in %s on line %d
Notice: Array to string conversion in %s on line %d
-- iteration 1 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 2 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 3 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 4 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 5 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 6 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 7 --
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
bool(false)
-- iteration 8 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 9 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 10 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 11 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 12 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 13 --
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
bool(false)
*** Done ***

View File

@ -0,0 +1,245 @@
--TEST--
Test fscanf() function: usage variations - scientific formats with boolean
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan boolean data using different scientific format types */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): different scientific format types with boolean data ***\n";
// create a file
$filename = "$file_path/fscanf_variation50.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
// array of boolean types
$bool_types = array (
true,
false,
TRUE,
FALSE,
);
$scientific_formats = array( "%e", "%he", "%le", "%Le", " %e", "%e ", "% e", "\t%e", "\n%e", "%4e", "%30e", "%[0-9]", "%*e");
$counter = 1;
// writing to the file
foreach($bool_types as $value) {
@fprintf($file_handle, $value);
@fprintf($file_handle, "\n");
}
// closing the file
fclose($file_handle);
// opening the file for reading
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
$counter = 1;
// reading the values from file using different scientific formats
foreach($scientific_formats as $scientific_format) {
// rewind the file so that for every foreach iteration the file pointer starts from bof
rewind($file_handle);
echo "\n-- iteration $counter --\n";
while( !feof($file_handle) ) {
var_dump( fscanf($file_handle,$scientific_format) );
}
$counter++;
}
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation50.tmp";
unlink($filename);
?>
--EXPECTF--
*** Test fscanf(): different scientific format types with boolean data ***
-- iteration 1 --
array(1) {
[0]=>
float(1)
}
NULL
array(1) {
[0]=>
float(1)
}
NULL
bool(false)
-- iteration 2 --
array(1) {
[0]=>
float(1)
}
NULL
array(1) {
[0]=>
float(1)
}
NULL
bool(false)
-- iteration 3 --
array(1) {
[0]=>
float(1)
}
NULL
array(1) {
[0]=>
float(1)
}
NULL
bool(false)
-- iteration 4 --
array(1) {
[0]=>
float(1)
}
NULL
array(1) {
[0]=>
float(1)
}
NULL
bool(false)
-- iteration 5 --
array(1) {
[0]=>
float(1)
}
NULL
array(1) {
[0]=>
float(1)
}
NULL
bool(false)
-- iteration 6 --
array(1) {
[0]=>
float(1)
}
NULL
array(1) {
[0]=>
float(1)
}
NULL
bool(false)
-- iteration 7 --
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
bool(false)
-- iteration 8 --
array(1) {
[0]=>
float(1)
}
NULL
array(1) {
[0]=>
float(1)
}
NULL
bool(false)
-- iteration 9 --
array(1) {
[0]=>
float(1)
}
NULL
array(1) {
[0]=>
float(1)
}
NULL
bool(false)
-- iteration 10 --
array(1) {
[0]=>
float(1)
}
NULL
array(1) {
[0]=>
float(1)
}
NULL
bool(false)
-- iteration 11 --
array(1) {
[0]=>
float(1)
}
NULL
array(1) {
[0]=>
float(1)
}
NULL
bool(false)
-- iteration 12 --
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 13 --
array(0) {
}
NULL
array(0) {
}
NULL
bool(false)
*** Done ***

View File

@ -0,0 +1,150 @@
--TEST--
Test fscanf() function: usage variations - file opened in write only mode
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan a file for read when file is opened inwrite only mode */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): to read from a file opened in write only mode ***\n";
// create a file
$filename = "$file_path/fscanf_variation51.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
//writing data to the file
fwrite($file_handle,"sample text\n");
//closing the file
fclose($file_handle);
// various formats
$formats = array( "%d", "%f", "%e", "%u", " %s", "%x", "%o");
$counter = 1;
// various write only modes
$modes = array("w", "wb", "wt",
"a", "ab", "at",
"x", "xb", "xt"
);
$counter = 1;
// reading the values from file using different integer formats
foreach($modes as $mode) {
$file_handle = fopen($filename, $mode);
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
echo "\n-- iteration $counter --\n";
foreach($formats as $format) {
var_dump( fscanf($file_handle,$format) );
rewind($file_handle);
}
$counter++;
fclose($file_handle);
unlink($filename);
}
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation51.tmp";
unlink($filename);
?>
--EXPECT--
*** Test fscanf(): to read from a file opened in write only mode ***
-- iteration 1 --
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
-- iteration 2 --
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
-- iteration 3 --
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
-- iteration 4 --
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
-- iteration 5 --
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
-- iteration 6 --
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
-- iteration 7 --
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
-- iteration 8 --
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
-- iteration 9 --
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
*** Done ***

View File

@ -0,0 +1,175 @@
--TEST--
Test fscanf() function: usage variations - empty file
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan an empty file */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): to read an empty file ***\n";
// various formats
$formats = array( "%d", "%f", "%e", "%u", " %s", "%x", "%o");
$counter = 1;
// various read modes
$modes = array("r", "rb", "rt", "r+", "r+b", "r+t",
"w+", "w+b", "w+t",
"a+", "a+b", "a+t"
);
$counter = 1;
// reading the values from file using different integer formats
foreach($modes as $mode) {
// create an empty file
$filename = "$file_path/fscanf_variation52.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
//closing the file
fclose($file_handle);
// opening file in $mode mode
$file_handle = fopen($filename, $mode);
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
echo "\n-- iteration $counter --\n";
foreach($formats as $format) {
var_dump( fscanf($file_handle,$format) );
rewind($file_handle);
}
$counter++;
fclose($file_handle);
unlink($filename);
}
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation52.tmp";
unlink($filename);
?>
--EXPECT--
*** Test fscanf(): to read an empty file ***
-- iteration 1 --
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
-- iteration 2 --
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
-- iteration 3 --
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
-- iteration 4 --
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
-- iteration 5 --
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
-- iteration 6 --
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
-- iteration 7 --
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
-- iteration 8 --
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
-- iteration 9 --
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
-- iteration 10 --
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
-- iteration 11 --
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
-- iteration 12 --
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
*** Done ***

View File

@ -0,0 +1,226 @@
--TEST--
Test fscanf() function: usage variations - file pointer pointing to EOF
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to read a file when file pointer is pointing to EOF */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): to read a file when file pointer is pointing to EOF ***\n";
// various formats
$formats = array( "%d", "%f", "%e", "%u", " %s", "%x", "%o");
$counter = 1;
// various read modes
$modes = array("r", "rb", "rt", "r+", "r+b", "r+t",
"w+", "w+b", "w+t",
"a+", "a+b", "a+t"
);
$counter = 1;
// reading the values from file using different integer formats
foreach($modes as $mode) {
// create an empty file
$filename = "$file_path/fscanf_variation52.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
//writing data to the file
@fwrite($file_handle, "Sample text\n");
// writing a blank line
@fwrite($file_handle, "\n");
//closing the file
fclose($file_handle);
// opening file in $mode mode
$file_handle = fopen($filename, $mode);
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
echo "\n-- iteration $counter --\n";
// current location
var_dump( ftell($file_handle) );
// set the file pointer to eof
var_dump( fseek($file_handle, 0, SEEK_END) );
// current location
var_dump( ftell($file_handle) );
foreach($formats as $format) {
var_dump( fscanf($file_handle,$format) );
}
$counter++;
fclose($file_handle);
unlink($filename);
}
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation53.tmp";
unlink($filename);
?>
--EXPECT--
*** Test fscanf(): to read a file when file pointer is pointing to EOF ***
-- iteration 1 --
int(0)
int(0)
int(13)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
-- iteration 2 --
int(0)
int(0)
int(13)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
-- iteration 3 --
int(0)
int(0)
int(13)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
-- iteration 4 --
int(0)
int(0)
int(13)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
-- iteration 5 --
int(0)
int(0)
int(13)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
-- iteration 6 --
int(0)
int(0)
int(13)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
-- iteration 7 --
int(0)
int(0)
int(0)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
-- iteration 8 --
int(0)
int(0)
int(0)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
-- iteration 9 --
int(0)
int(0)
int(0)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
-- iteration 10 --
int(0)
int(0)
int(13)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
-- iteration 11 --
int(0)
int(0)
int(13)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
-- iteration 12 --
int(0)
int(0)
int(13)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
*** Done ***

View File

@ -0,0 +1,100 @@
--TEST--
Test fscanf() function: usage variations - objects
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan a file to read objects */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): to read objects from a file ***\n";
// declare a class
class foo
{
public $var1 = 1;
public $var2 = 2;
function __toString() {
return "Object";
}
}
// create an object
$obj = new foo(); //creating new object
// create a file
$filename = "$file_path/fscanf_variation54.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
//writing object to the file
fwrite($file_handle, $obj);
//closing the file
fclose($file_handle);
// various formats
$formats = array( "%d", "%f", "%e", "%u", " %s", "%x", "%o");
$counter = 1;
// opening file for read
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
echo "\n-- iteration $counter --\n";
foreach($formats as $format) {
var_dump( fscanf($file_handle,$format) );
rewind($file_handle);
}
fclose($file_handle);
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation54.tmp";
unlink($filename);
?>
--EXPECT--
*** Test fscanf(): to read objects from a file ***
-- iteration 1 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(6) "Object"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
*** Done ***

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,945 @@
--TEST--
Test fscanf() function: usage variations - integer formats with strings
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan strings using different integer format types */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): different integer format types with strings ***\n";
// create a file
$filename = "$file_path/fscanf_variation6.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
// array of strings
$strings = array (
"",
'',
"0",
'0',
"1",
'1',
"\x01",
'\x01',
"\01",
'\01',
'string',
"string",
"true",
"FALSE",
'false',
'TRUE',
"NULL",
'null'
);
$int_formats = array( "%d", "%hd", "%ld", "%Ld", " %d", "%d ", "% d", "\t%d", "\n%d", "%4d", "%30d", "%[0-9]", "%*d");
$counter = 1;
// writing to the file
foreach($strings as $string) {
fprintf($file_handle, $string);
fprintf($file_handle, "\n");
}
// closing the file
fclose($file_handle);
// opening the file for reading
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
$counter = 1;
// reading the values from file using different integer formats
foreach($int_formats as $int_format) {
// rewind the file so that for every foreach iteration the file pointer starts from bof
rewind($file_handle);
echo "\n-- iteration $counter --\n";
while( !feof($file_handle) ) {
var_dump( fscanf($file_handle,$int_format) );
}
$counter++;
}
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation6.tmp";
unlink($filename);
?>
--EXPECTF--
*** Test fscanf(): different integer format types with strings ***
-- iteration 1 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 2 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 3 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 4 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 5 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 6 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 7 --
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
bool(false)
-- iteration 8 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 9 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 10 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 11 --
NULL
NULL
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(0)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
int(1)
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 12 --
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "0"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 13 --
NULL
NULL
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
array(0) {
}
bool(false)
*** Done ***

View File

@ -0,0 +1,245 @@
--TEST--
Test fscanf() function: usage variations - integer formats with boolean
--FILE--
<?php
/*
Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
Description: Parses input from a file according to a format
*/
/* Test fscanf() to scan boolean data using different integer format types */
$file_path = dirname(__FILE__);
echo "*** Test fscanf(): different integer format types with boolean data ***\n";
// create a file
$filename = "$file_path/fscanf_variation7.tmp";
$file_handle = fopen($filename, "w");
if($file_handle == false)
exit("Error:failed to open file $filename");
// array of boolean types
$bool_types = array (
true,
false,
TRUE,
FALSE,
);
$int_formats = array( "%d", "%hd", "%ld", "%Ld", " %d", "%d ", "% d", "\t%d", "\n%d", "%4d", "%30d", "%[0-9]", "%*d");
$counter = 1;
// writing to the file
foreach($bool_types as $value) {
fprintf($file_handle, $value);
fprintf($file_handle, "\n");
}
// closing the file
fclose($file_handle);
// opening the file for reading
$file_handle = fopen($filename, "r");
if($file_handle == false) {
exit("Error:failed to open file $filename");
}
$counter = 1;
// reading the values from file using different integer formats
foreach($int_formats as $int_format) {
// rewind the file so that for every foreach iteration the file pointer starts from bof
rewind($file_handle);
echo "\n-- iteration $counter --\n";
while( !feof($file_handle) ) {
var_dump( fscanf($file_handle,$int_format) );
}
$counter++;
}
echo "\n*** Done ***";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$filename = "$file_path/fscanf_variation7.tmp";
unlink($filename);
?>
--EXPECTF--
*** Test fscanf(): different integer format types with boolean data ***
-- iteration 1 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 2 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 3 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 4 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 5 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 6 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 7 --
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
Warning: fscanf(): Bad scan conversion character " " in %s on line %d
NULL
bool(false)
-- iteration 8 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 9 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 10 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 11 --
array(1) {
[0]=>
int(1)
}
NULL
array(1) {
[0]=>
int(1)
}
NULL
bool(false)
-- iteration 12 --
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
NULL
}
array(1) {
[0]=>
string(1) "1"
}
array(1) {
[0]=>
NULL
}
bool(false)
-- iteration 13 --
array(0) {
}
NULL
array(0) {
}
NULL
bool(false)
*** Done ***

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff