mirror of
https://github.com/php/php-src.git
synced 2024-10-21 00:12:34 +00:00
532 lines
11 KiB
PHP
532 lines
11 KiB
PHP
--TEST--
|
|
Test fflush() function: usage variations - files in different modes
|
|
--SKIPIF--
|
|
<?php
|
|
if( substr(PHP_OS, 0, 3) != "WIN" )
|
|
die("skip.. only for Windows");
|
|
?>
|
|
|
|
--FILE--
|
|
<?php
|
|
/* Prototype: bool fflush ( resource $handle );
|
|
Description: Flushes the output to a file
|
|
*/
|
|
|
|
/* test fflush() with handle to the files opened in different modes */
|
|
|
|
$file_path = dirname(__FILE__);
|
|
require $file_path.'/file.inc';
|
|
|
|
echo "*** Testing fflush(): with various types of files ***\n";
|
|
$file_types = array("empty", "numeric", "text", "text_with_new_line", "alphanumeric");
|
|
$file_modes = array("w", "wb", "wt", "w+", "w+b", "w+t",
|
|
"a", "ab", "at", "a+","a+b", "a+t",
|
|
"x", "xb", "xt", "x+", "x+b", "x+t");
|
|
|
|
$file_name = "$file_path/fflush_variation1.tmp";
|
|
|
|
$count = 1;
|
|
|
|
foreach( $file_types as $type ) {
|
|
echo "-- Iteration $count with file containing $type Data--\n";
|
|
foreach( $file_modes as $mode ) {
|
|
echo "-- File opened in $mode mode --\n";
|
|
|
|
// creating the file except for x mode
|
|
if( substr($mode, 0, 1) != "x" ) {
|
|
$file_handle = fopen($file_name, "w");
|
|
if($file_handle == false)
|
|
exit("Error:failed to open file $file_name");
|
|
|
|
// filling the file some data if mode is append mode
|
|
if( substr($mode, 0, 1) == "a")
|
|
fill_file($file_handle, $type, 10);
|
|
fclose($file_handle);
|
|
}
|
|
|
|
// opening the file in different modes
|
|
$file_handle = fopen($file_name, $mode);
|
|
if($file_handle == false)
|
|
exit("Error:failed to open file $file_name");
|
|
|
|
// writing data to the file
|
|
var_dump( fill_file($file_handle, $type, 50) );
|
|
var_dump( fflush($file_handle) );
|
|
fclose($file_handle);
|
|
|
|
// reading the contents of the file after flushing
|
|
var_dump( readfile($file_name) );
|
|
unlink($file_name);
|
|
}
|
|
$count++;
|
|
}
|
|
|
|
echo "\n*** Done ***";
|
|
?>
|
|
--EXPECTF--
|
|
*** Testing fflush(): with various types of files ***
|
|
-- Iteration 1 with file containing empty Data--
|
|
-- File opened in w mode --
|
|
bool(true)
|
|
bool(true)
|
|
int(0)
|
|
-- File opened in wb mode --
|
|
bool(true)
|
|
bool(true)
|
|
int(0)
|
|
-- File opened in wt mode --
|
|
bool(true)
|
|
bool(true)
|
|
int(0)
|
|
-- File opened in w+ mode --
|
|
bool(true)
|
|
bool(true)
|
|
int(0)
|
|
-- File opened in w+b mode --
|
|
bool(true)
|
|
bool(true)
|
|
int(0)
|
|
-- File opened in w+t mode --
|
|
bool(true)
|
|
bool(true)
|
|
int(0)
|
|
-- File opened in a mode --
|
|
bool(true)
|
|
bool(true)
|
|
int(0)
|
|
-- File opened in ab mode --
|
|
bool(true)
|
|
bool(true)
|
|
int(0)
|
|
-- File opened in at mode --
|
|
bool(true)
|
|
bool(true)
|
|
int(0)
|
|
-- File opened in a+ mode --
|
|
bool(true)
|
|
bool(true)
|
|
int(0)
|
|
-- File opened in a+b mode --
|
|
bool(true)
|
|
bool(true)
|
|
int(0)
|
|
-- File opened in a+t mode --
|
|
bool(true)
|
|
bool(true)
|
|
int(0)
|
|
-- File opened in x mode --
|
|
bool(true)
|
|
bool(true)
|
|
int(0)
|
|
-- File opened in xb mode --
|
|
bool(true)
|
|
bool(true)
|
|
int(0)
|
|
-- File opened in xt mode --
|
|
bool(true)
|
|
bool(true)
|
|
int(0)
|
|
-- File opened in x+ mode --
|
|
bool(true)
|
|
bool(true)
|
|
int(0)
|
|
-- File opened in x+b mode --
|
|
bool(true)
|
|
bool(true)
|
|
int(0)
|
|
-- File opened in x+t mode --
|
|
bool(true)
|
|
bool(true)
|
|
int(0)
|
|
-- Iteration 2 with file containing numeric Data--
|
|
-- File opened in w mode --
|
|
bool(true)
|
|
bool(true)
|
|
22222222222222222222222222222222222222222222222222int(50)
|
|
-- File opened in wb mode --
|
|
bool(true)
|
|
bool(true)
|
|
22222222222222222222222222222222222222222222222222int(50)
|
|
-- File opened in wt mode --
|
|
bool(true)
|
|
bool(true)
|
|
22222222222222222222222222222222222222222222222222int(50)
|
|
-- File opened in w+ mode --
|
|
bool(true)
|
|
bool(true)
|
|
22222222222222222222222222222222222222222222222222int(50)
|
|
-- File opened in w+b mode --
|
|
bool(true)
|
|
bool(true)
|
|
22222222222222222222222222222222222222222222222222int(50)
|
|
-- File opened in w+t mode --
|
|
bool(true)
|
|
bool(true)
|
|
22222222222222222222222222222222222222222222222222int(50)
|
|
-- File opened in a mode --
|
|
bool(true)
|
|
bool(true)
|
|
222222222222222222222222222222222222222222222222222222222222int(60)
|
|
-- File opened in ab mode --
|
|
bool(true)
|
|
bool(true)
|
|
222222222222222222222222222222222222222222222222222222222222int(60)
|
|
-- File opened in at mode --
|
|
bool(true)
|
|
bool(true)
|
|
222222222222222222222222222222222222222222222222222222222222int(60)
|
|
-- File opened in a+ mode --
|
|
bool(true)
|
|
bool(true)
|
|
222222222222222222222222222222222222222222222222222222222222int(60)
|
|
-- File opened in a+b mode --
|
|
bool(true)
|
|
bool(true)
|
|
222222222222222222222222222222222222222222222222222222222222int(60)
|
|
-- File opened in a+t mode --
|
|
bool(true)
|
|
bool(true)
|
|
222222222222222222222222222222222222222222222222222222222222int(60)
|
|
-- File opened in x mode --
|
|
bool(true)
|
|
bool(true)
|
|
22222222222222222222222222222222222222222222222222int(50)
|
|
-- File opened in xb mode --
|
|
bool(true)
|
|
bool(true)
|
|
22222222222222222222222222222222222222222222222222int(50)
|
|
-- File opened in xt mode --
|
|
bool(true)
|
|
bool(true)
|
|
22222222222222222222222222222222222222222222222222int(50)
|
|
-- File opened in x+ mode --
|
|
bool(true)
|
|
bool(true)
|
|
22222222222222222222222222222222222222222222222222int(50)
|
|
-- File opened in x+b mode --
|
|
bool(true)
|
|
bool(true)
|
|
22222222222222222222222222222222222222222222222222int(50)
|
|
-- File opened in x+t mode --
|
|
bool(true)
|
|
bool(true)
|
|
22222222222222222222222222222222222222222222222222int(50)
|
|
-- Iteration 3 with file containing text Data--
|
|
-- File opened in w mode --
|
|
bool(true)
|
|
bool(true)
|
|
text text text text text text text text text text int(50)
|
|
-- File opened in wb mode --
|
|
bool(true)
|
|
bool(true)
|
|
text text text text text text text text text text int(50)
|
|
-- File opened in wt mode --
|
|
bool(true)
|
|
bool(true)
|
|
text text text text text text text text text text int(50)
|
|
-- File opened in w+ mode --
|
|
bool(true)
|
|
bool(true)
|
|
text text text text text text text text text text int(50)
|
|
-- File opened in w+b mode --
|
|
bool(true)
|
|
bool(true)
|
|
text text text text text text text text text text int(50)
|
|
-- File opened in w+t mode --
|
|
bool(true)
|
|
bool(true)
|
|
text text text text text text text text text text int(50)
|
|
-- File opened in a mode --
|
|
bool(true)
|
|
bool(true)
|
|
text text text text text text text text text text text text int(60)
|
|
-- File opened in ab mode --
|
|
bool(true)
|
|
bool(true)
|
|
text text text text text text text text text text text text int(60)
|
|
-- File opened in at mode --
|
|
bool(true)
|
|
bool(true)
|
|
text text text text text text text text text text text text int(60)
|
|
-- File opened in a+ mode --
|
|
bool(true)
|
|
bool(true)
|
|
text text text text text text text text text text text text int(60)
|
|
-- File opened in a+b mode --
|
|
bool(true)
|
|
bool(true)
|
|
text text text text text text text text text text text text int(60)
|
|
-- File opened in a+t mode --
|
|
bool(true)
|
|
bool(true)
|
|
text text text text text text text text text text text text int(60)
|
|
-- File opened in x mode --
|
|
bool(true)
|
|
bool(true)
|
|
text text text text text text text text text text int(50)
|
|
-- File opened in xb mode --
|
|
bool(true)
|
|
bool(true)
|
|
text text text text text text text text text text int(50)
|
|
-- File opened in xt mode --
|
|
bool(true)
|
|
bool(true)
|
|
text text text text text text text text text text int(50)
|
|
-- File opened in x+ mode --
|
|
bool(true)
|
|
bool(true)
|
|
text text text text text text text text text text int(50)
|
|
-- File opened in x+b mode --
|
|
bool(true)
|
|
bool(true)
|
|
text text text text text text text text text text int(50)
|
|
-- File opened in x+t mode --
|
|
bool(true)
|
|
bool(true)
|
|
text text text text text text text text text text int(50)
|
|
-- Iteration 4 with file containing text_with_new_line Data--
|
|
-- File opened in w mode --
|
|
bool(true)
|
|
bool(true)
|
|
line
|
|
line of text
|
|
line
|
|
line of text
|
|
line
|
|
line of tint(50)
|
|
-- File opened in wb mode --
|
|
bool(true)
|
|
bool(true)
|
|
line
|
|
line of text
|
|
line
|
|
line of text
|
|
line
|
|
line of tint(50)
|
|
-- File opened in wt mode --
|
|
bool(true)
|
|
bool(true)
|
|
line
|
|
line of text
|
|
line
|
|
line of text
|
|
line
|
|
line of tint(55)
|
|
-- File opened in w+ mode --
|
|
bool(true)
|
|
bool(true)
|
|
line
|
|
line of text
|
|
line
|
|
line of text
|
|
line
|
|
line of tint(50)
|
|
-- File opened in w+b mode --
|
|
bool(true)
|
|
bool(true)
|
|
line
|
|
line of text
|
|
line
|
|
line of text
|
|
line
|
|
line of tint(50)
|
|
-- File opened in w+t mode --
|
|
bool(true)
|
|
bool(true)
|
|
line
|
|
line of text
|
|
line
|
|
line of text
|
|
line
|
|
line of tint(55)
|
|
-- File opened in a mode --
|
|
bool(true)
|
|
bool(true)
|
|
line
|
|
line line
|
|
line of text
|
|
line
|
|
line of text
|
|
line
|
|
line of tint(60)
|
|
-- File opened in ab mode --
|
|
bool(true)
|
|
bool(true)
|
|
line
|
|
line line
|
|
line of text
|
|
line
|
|
line of text
|
|
line
|
|
line of tint(60)
|
|
-- File opened in at mode --
|
|
bool(true)
|
|
bool(true)
|
|
line
|
|
line line
|
|
line of text
|
|
line
|
|
line of text
|
|
line
|
|
line of tint(65)
|
|
-- File opened in a+ mode --
|
|
bool(true)
|
|
bool(true)
|
|
line
|
|
line line
|
|
line of text
|
|
line
|
|
line of text
|
|
line
|
|
line of tint(60)
|
|
-- File opened in a+b mode --
|
|
bool(true)
|
|
bool(true)
|
|
line
|
|
line line
|
|
line of text
|
|
line
|
|
line of text
|
|
line
|
|
line of tint(60)
|
|
-- File opened in a+t mode --
|
|
bool(true)
|
|
bool(true)
|
|
line
|
|
line line
|
|
line of text
|
|
line
|
|
line of text
|
|
line
|
|
line of tint(65)
|
|
-- File opened in x mode --
|
|
bool(true)
|
|
bool(true)
|
|
line
|
|
line of text
|
|
line
|
|
line of text
|
|
line
|
|
line of tint(50)
|
|
-- File opened in xb mode --
|
|
bool(true)
|
|
bool(true)
|
|
line
|
|
line of text
|
|
line
|
|
line of text
|
|
line
|
|
line of tint(50)
|
|
-- File opened in xt mode --
|
|
bool(true)
|
|
bool(true)
|
|
line
|
|
line of text
|
|
line
|
|
line of text
|
|
line
|
|
line of tint(55)
|
|
-- File opened in x+ mode --
|
|
bool(true)
|
|
bool(true)
|
|
line
|
|
line of text
|
|
line
|
|
line of text
|
|
line
|
|
line of tint(50)
|
|
-- File opened in x+b mode --
|
|
bool(true)
|
|
bool(true)
|
|
line
|
|
line of text
|
|
line
|
|
line of text
|
|
line
|
|
line of tint(50)
|
|
-- File opened in x+t mode --
|
|
bool(true)
|
|
bool(true)
|
|
line
|
|
line of text
|
|
line
|
|
line of text
|
|
line
|
|
line of tint(55)
|
|
-- Iteration 5 with file containing alphanumeric Data--
|
|
-- File opened in w mode --
|
|
bool(true)
|
|
bool(true)
|
|
ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 int(50)
|
|
-- File opened in wb mode --
|
|
bool(true)
|
|
bool(true)
|
|
ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 int(50)
|
|
-- File opened in wt mode --
|
|
bool(true)
|
|
bool(true)
|
|
ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 int(50)
|
|
-- File opened in w+ mode --
|
|
bool(true)
|
|
bool(true)
|
|
ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 int(50)
|
|
-- File opened in w+b mode --
|
|
bool(true)
|
|
bool(true)
|
|
ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 int(50)
|
|
-- File opened in w+t mode --
|
|
bool(true)
|
|
bool(true)
|
|
ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 int(50)
|
|
-- File opened in a mode --
|
|
bool(true)
|
|
bool(true)
|
|
ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 int(60)
|
|
-- File opened in ab mode --
|
|
bool(true)
|
|
bool(true)
|
|
ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 int(60)
|
|
-- File opened in at mode --
|
|
bool(true)
|
|
bool(true)
|
|
ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 int(60)
|
|
-- File opened in a+ mode --
|
|
bool(true)
|
|
bool(true)
|
|
ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 int(60)
|
|
-- File opened in a+b mode --
|
|
bool(true)
|
|
bool(true)
|
|
ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 int(60)
|
|
-- File opened in a+t mode --
|
|
bool(true)
|
|
bool(true)
|
|
ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 int(60)
|
|
-- File opened in x mode --
|
|
bool(true)
|
|
bool(true)
|
|
ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 int(50)
|
|
-- File opened in xb mode --
|
|
bool(true)
|
|
bool(true)
|
|
ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 int(50)
|
|
-- File opened in xt mode --
|
|
bool(true)
|
|
bool(true)
|
|
ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 int(50)
|
|
-- File opened in x+ mode --
|
|
bool(true)
|
|
bool(true)
|
|
ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 int(50)
|
|
-- File opened in x+b mode --
|
|
bool(true)
|
|
bool(true)
|
|
ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 int(50)
|
|
-- File opened in x+t mode --
|
|
bool(true)
|
|
bool(true)
|
|
ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 int(50)
|
|
|
|
*** Done ***
|
|
|