mirror of
https://github.com/php/php-src.git
synced 2024-10-20 07:53:58 +00:00
527 lines
11 KiB
Plaintext
527 lines
11 KiB
Plaintext
|
--TEST--
|
||
|
Test fflush() function: usage variations - files in different modes
|
||
|
--SKIPIF--
|
||
|
<?php
|
||
|
if( substr(PHP_OS, 0, 3) == "WIN" )
|
||
|
die("skip.. only for linux");
|
||
|
?>
|
||
|
|
||
|
--FILE--
|
||
|
<?php
|
||
|
/* Prototype: bool fflush ( resource $handle );
|
||
|
Description: Flushes the output to a file
|
||
|
*/
|
||
|
|
||
|
/* test fflush() with handle of 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");
|
||
|
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++;
|
||
|
}
|
||
|
|
||
|
|
||
|
?>
|
||
|
--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(50)
|
||
|
-- 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(50)
|
||
|
-- 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(60)
|
||
|
-- 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(60)
|
||
|
-- 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(50)
|
||
|
-- 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(50)
|
||
|
-- 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)
|