mirror of
https://github.com/php/php-src.git
synced 2025-08-19 17:04:47 +02:00
New tests for file handling
This commit is contained in:
parent
4f38742d2f
commit
a6ac3f8c20
12 changed files with 1942 additions and 0 deletions
85
ext/standard/tests/file/disk_free_space_basic.phpt
Normal file
85
ext/standard/tests/file/disk_free_space_basic.phpt
Normal file
|
@ -0,0 +1,85 @@
|
||||||
|
--TEST--
|
||||||
|
Test disk_free_space and its alias diskfreespace() functions : basic functionality
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* Prototype: float disk_free_space( string directory )
|
||||||
|
* Description: Given a string containing a directory, this function
|
||||||
|
* will return the number of bytes available on the corresponding
|
||||||
|
* filesystem or disk partition
|
||||||
|
*/
|
||||||
|
|
||||||
|
$file_path = dirname(__FILE__);
|
||||||
|
|
||||||
|
echo "*** Testing with existing directory ***\n";
|
||||||
|
var_dump( disk_free_space($file_path) );
|
||||||
|
var_dump( diskfreespace($file_path) );
|
||||||
|
|
||||||
|
echo "*** Testing with newly created directory ***\n";
|
||||||
|
$dir = "/disk_free_space";
|
||||||
|
mkdir($file_path.$dir);
|
||||||
|
echo" \n Free Space before writing to a file\n";
|
||||||
|
$space1 = disk_free_space($file_path.$dir);
|
||||||
|
var_dump( $space1 );
|
||||||
|
|
||||||
|
$fh = fopen($file_path.$dir."/disk_free_space.tmp", "a");
|
||||||
|
for( $i=1; $i<=1000; $i++)
|
||||||
|
fwrite($fh, (binary)"x");
|
||||||
|
fclose($fh);
|
||||||
|
|
||||||
|
echo "\n Free Space after writing to a file\n";
|
||||||
|
$space2 = disk_free_space($file_path.$dir);
|
||||||
|
var_dump( $space2 );
|
||||||
|
|
||||||
|
if( $space1 > $space2 )
|
||||||
|
echo "\n Free Space Value Is Correct\n";
|
||||||
|
else
|
||||||
|
echo "\n Free Space Value Is Incorrect\n";
|
||||||
|
|
||||||
|
echo "*** Testing with Binary Input ***\n";
|
||||||
|
var_dump( disk_free_space(b"$file_path") );
|
||||||
|
|
||||||
|
echo"\n--- Done ---";
|
||||||
|
?>
|
||||||
|
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
$file_path = dirname(__FILE__);
|
||||||
|
unlink($file_path."/disk_free_space/disk_free_space.tmp");
|
||||||
|
rmdir($file_path."/disk_free_space");
|
||||||
|
?>
|
||||||
|
|
||||||
|
--EXPECTF--
|
||||||
|
*** Testing with existing directory ***
|
||||||
|
float(%d)
|
||||||
|
float(%d)
|
||||||
|
*** Testing with newly created directory ***
|
||||||
|
|
||||||
|
Free Space before writing to a file
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
Free Space after writing to a file
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
Free Space Value Is Correct
|
||||||
|
*** Testing with Binary Input ***
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
--- Done ---
|
||||||
|
--UEXPECTF--
|
||||||
|
*** Testing with existing directory ***
|
||||||
|
float(%d)
|
||||||
|
float(%d)
|
||||||
|
*** Testing with newly created directory ***
|
||||||
|
|
||||||
|
Free Space before writing to a file
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
Free Space after writing to a file
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
Free Space Value Is Correct
|
||||||
|
*** Testing with Binary Input ***
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
--- Done ---
|
181
ext/standard/tests/file/disk_free_space_variation.phpt
Normal file
181
ext/standard/tests/file/disk_free_space_variation.phpt
Normal file
|
@ -0,0 +1,181 @@
|
||||||
|
--TEST--
|
||||||
|
Test disk_free_space and its alias diskfreespace() functions : Usage Variations
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* Prototype: float disk_free_space( string directory )
|
||||||
|
* Description: Given a string containing a directory, this function
|
||||||
|
* will return the number of bytes available on the corresponding
|
||||||
|
* filesystem or disk partition
|
||||||
|
*/
|
||||||
|
|
||||||
|
$file_path = dirname(__FILE__);
|
||||||
|
|
||||||
|
echo "*** Testing with a directory ***\n";
|
||||||
|
var_dump( disk_free_space($file_path."/..") );
|
||||||
|
var_dump( diskfreespace($file_path."/..") );
|
||||||
|
|
||||||
|
echo "\nTesting for the return type ***\n";
|
||||||
|
$return_value = disk_free_space($file_path);
|
||||||
|
var_dump( is_float($return_value) );
|
||||||
|
|
||||||
|
echo "\n*** Testing with different directory combinations ***";
|
||||||
|
$dir = "/disk_free_space";
|
||||||
|
mkdir($file_path.$dir);
|
||||||
|
|
||||||
|
$dirs_arr = array(
|
||||||
|
".",
|
||||||
|
$file_path.$dir,
|
||||||
|
$file_path."/.".$dir,
|
||||||
|
|
||||||
|
/* Testing a file trailing slash */
|
||||||
|
$file_path."".$dir."/",
|
||||||
|
$file_path."/.".$dir."/",
|
||||||
|
|
||||||
|
/* Testing file with double trailing slashes */
|
||||||
|
$file_path.$dir."//",
|
||||||
|
$file_path."/.".$dir."//",
|
||||||
|
$file_path."/./".$dir."//",
|
||||||
|
|
||||||
|
/* Testing Binary safe */
|
||||||
|
$file_path.$dir.chr(0),
|
||||||
|
$file_path."/.".$dir.chr(0),
|
||||||
|
".".chr(0).$file_path.$dir,
|
||||||
|
".".chr(0).$file_path.$dir.chr(0)
|
||||||
|
);
|
||||||
|
|
||||||
|
$count = 1;
|
||||||
|
/* loop through to test each element the above array */
|
||||||
|
foreach($dirs_arr as $dir1) {
|
||||||
|
echo "\n-- Iteration $count --\n";
|
||||||
|
var_dump( disk_free_space( $dir1 ) );
|
||||||
|
var_dump( diskfreespace( $dir1 ) );
|
||||||
|
$count++;
|
||||||
|
}
|
||||||
|
|
||||||
|
echo"\n--- Done ---";
|
||||||
|
?>
|
||||||
|
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
$file_path = dirname(__FILE__);
|
||||||
|
rmdir($file_path."/disk_free_space");
|
||||||
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
--EXPECTF--
|
||||||
|
*** Testing with a directory ***
|
||||||
|
float(%d)
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
Testing for the return type ***
|
||||||
|
bool(true)
|
||||||
|
|
||||||
|
*** Testing with different directory combinations ***
|
||||||
|
-- Iteration 1 --
|
||||||
|
float(%d)
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 2 --
|
||||||
|
float(%d)
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 3 --
|
||||||
|
float(%d)
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 4 --
|
||||||
|
float(%d)
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 5 --
|
||||||
|
float(%d)
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 6 --
|
||||||
|
float(%d)
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 7 --
|
||||||
|
float(%d)
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 8 --
|
||||||
|
float(%d)
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 9 --
|
||||||
|
float(%d)
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 10 --
|
||||||
|
float(%d)
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 11 --
|
||||||
|
float(%d)
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 12 --
|
||||||
|
float(%d)
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
--- Done ---
|
||||||
|
--UEXPECTF--
|
||||||
|
*** Testing with a directory ***
|
||||||
|
float(%d)
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
Testing for the return type ***
|
||||||
|
bool(true)
|
||||||
|
|
||||||
|
*** Testing with different directory combinations ***
|
||||||
|
-- Iteration 1 --
|
||||||
|
float(%d)
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 2 --
|
||||||
|
float(%d)
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 3 --
|
||||||
|
float(%d)
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 4 --
|
||||||
|
float(%d)
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 5 --
|
||||||
|
float(%d)
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 6 --
|
||||||
|
float(%d)
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 7 --
|
||||||
|
float(%d)
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 8 --
|
||||||
|
float(%d)
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 9 --
|
||||||
|
float(%d)
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 10 --
|
||||||
|
float(%d)
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 11 --
|
||||||
|
float(%d)
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 12 --
|
||||||
|
float(%d)
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
--- Done ---
|
58
ext/standard/tests/file/disk_total_space_basic.phpt
Normal file
58
ext/standard/tests/file/disk_total_space_basic.phpt
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
--TEST--
|
||||||
|
Test disk_total_space() function : basic functionality
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* Prototype: float disk_total_space( string $directory );
|
||||||
|
* Description: given a string containing a directory, this function will
|
||||||
|
* return the total number of bytes on the corresponding filesyatem
|
||||||
|
* or disk partition.
|
||||||
|
*/
|
||||||
|
|
||||||
|
$file_path = dirname(__FILE__);
|
||||||
|
|
||||||
|
echo "*** Testing with normal directory ***\n";
|
||||||
|
var_dump( disk_total_space($file_path) );
|
||||||
|
|
||||||
|
echo "*** Testing with newly created directory ***\n";
|
||||||
|
$dir = "/disk_total_space";
|
||||||
|
|
||||||
|
mkdir($file_path.$dir);
|
||||||
|
var_dump( disk_total_space($file_path.$dir) );
|
||||||
|
$fh = fopen($file_path.$dir."/disk_total_space.tmp", "w");
|
||||||
|
fwrite($fh, (binary)"Garbage Data Garbage Data Garbage Data Garbage Data Garbage Data Garbage Data Garbage Data");
|
||||||
|
|
||||||
|
fclose($fh);
|
||||||
|
|
||||||
|
echo"\nTotal Space after writing to a file\n";
|
||||||
|
var_dump( disk_total_space($file_path.$dir) );
|
||||||
|
|
||||||
|
echo"\n-- Done --";
|
||||||
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
$file_path = dirname(__FILE__);
|
||||||
|
unlink($file_path."/disk_total_space/disk_total_space.tmp");
|
||||||
|
rmdir($file_path."/disk_total_space");
|
||||||
|
?>
|
||||||
|
|
||||||
|
--EXPECTF--
|
||||||
|
*** Testing with normal directory ***
|
||||||
|
float(%d)
|
||||||
|
*** Testing with newly created directory ***
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
Total Space after writing to a file
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Done --
|
||||||
|
--UEXPECTF--
|
||||||
|
*** Testing with normal directory ***
|
||||||
|
float(%d)
|
||||||
|
*** Testing with newly created directory ***
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
Total Space after writing to a file
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Done --
|
162
ext/standard/tests/file/disk_total_space_variation.phpt
Normal file
162
ext/standard/tests/file/disk_total_space_variation.phpt
Normal file
|
@ -0,0 +1,162 @@
|
||||||
|
--TEST--
|
||||||
|
Testing disk_total_space() functions : Usage Variations.
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* Prototype: float disk_total_space( string directory )
|
||||||
|
* Description: given a string containing a directory, this function
|
||||||
|
* will return the total number of bytes on the corresponding
|
||||||
|
* filesystem or disk partition.
|
||||||
|
*/
|
||||||
|
|
||||||
|
$file_path = dirname(__FILE__);
|
||||||
|
|
||||||
|
echo "*** Testing with a directory ***\n";
|
||||||
|
var_dump( disk_total_space($file_path."/..") );
|
||||||
|
|
||||||
|
echo "\nTesting for the return type ***\n";
|
||||||
|
$return_value = disk_total_space($file_path);
|
||||||
|
var_dump( is_float($return_value) );
|
||||||
|
|
||||||
|
echo "\n*** Testing with different directory combinations ***";
|
||||||
|
$dir = "/disk_total_space";
|
||||||
|
|
||||||
|
mkdir($file_path.$dir);
|
||||||
|
|
||||||
|
$dirs_arr = array(
|
||||||
|
".",
|
||||||
|
$file_path.$dir,
|
||||||
|
$file_path."/.".$dir,
|
||||||
|
|
||||||
|
/* Testing a file trailing slash */
|
||||||
|
$file_path."".$dir."/",
|
||||||
|
$file_path."/.".$dir."/",
|
||||||
|
|
||||||
|
/* Testing file with double trailing slashes */
|
||||||
|
$file_path.$dir."//",
|
||||||
|
$file_path."/.".$dir."//",
|
||||||
|
$file_path."/./".$dir."//",
|
||||||
|
|
||||||
|
/* Testing Binary safe */
|
||||||
|
$file_path.$dir.chr(0),
|
||||||
|
$file_path."/.".$dir.chr(0),
|
||||||
|
".".chr(0).$file_path.$dir,
|
||||||
|
".".chr(0).$file_path.$dir.chr(0)
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
$count = 1;
|
||||||
|
/* loop through to test each element the above array */
|
||||||
|
foreach($dirs_arr as $dir1) {
|
||||||
|
echo "\n-- Iteration $count --\n";
|
||||||
|
var_dump( disk_total_space( $dir1 ) );
|
||||||
|
$count++;
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "*** Testing with Binary Input ***\n";
|
||||||
|
var_dump( disk_total_space(b"$file_path") );
|
||||||
|
|
||||||
|
echo"\n--- Done ---";
|
||||||
|
?>
|
||||||
|
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
$file_path = dirname(__FILE__);
|
||||||
|
rmdir($file_path."/disk_total_space");
|
||||||
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
--EXPECTF--
|
||||||
|
*** Testing with a directory ***
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
Testing for the return type ***
|
||||||
|
bool(true)
|
||||||
|
|
||||||
|
*** Testing with different directory combinations ***
|
||||||
|
-- Iteration 1 --
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 2 --
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 3 --
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 4 --
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 5 --
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 6 --
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 7 --
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 8 --
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 9 --
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 10 --
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 11 --
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 12 --
|
||||||
|
float(%d)
|
||||||
|
*** Testing with Binary Input ***
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
--- Done ---
|
||||||
|
--UEXPECTF--
|
||||||
|
*** Testing with a directory ***
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
Testing for the return type ***
|
||||||
|
bool(true)
|
||||||
|
|
||||||
|
*** Testing with different directory combinations ***
|
||||||
|
-- Iteration 1 --
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 2 --
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 3 --
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 4 --
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 5 --
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 6 --
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 7 --
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 8 --
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 9 --
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 10 --
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 11 --
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
-- Iteration 12 --
|
||||||
|
float(%d)
|
||||||
|
*** Testing with Binary Input ***
|
||||||
|
float(%d)
|
||||||
|
|
||||||
|
--- Done ---
|
123
ext/standard/tests/file/file_basic.phpt
Normal file
123
ext/standard/tests/file/file_basic.phpt
Normal file
|
@ -0,0 +1,123 @@
|
||||||
|
--TEST--
|
||||||
|
Test file() function : basic functionality
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* Prototype: array file ( string filename [,int use-include_path [,resource context]] );
|
||||||
|
* Description: Reads entire file into an array
|
||||||
|
* Returns the file in an array
|
||||||
|
*/
|
||||||
|
require(dirname(__FILE__) . '/file.inc');
|
||||||
|
$file_path = dirname(__FILE__);
|
||||||
|
echo "*** Testing file() with basic types of files ***\n";
|
||||||
|
$filetypes = array("numeric", "text", "empty", "text_with_new_line");
|
||||||
|
|
||||||
|
foreach( $filetypes as $type ) {
|
||||||
|
create_files($file_path, 1, $type, 0755, 100, "w", "file", 1, "byte");
|
||||||
|
print_r( file($file_path."/file1.tmp") );
|
||||||
|
delete_files($file_path, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "*** Testing for return type of file() function ***\n";
|
||||||
|
foreach( $filetypes as $type ) {
|
||||||
|
create_files($file_path, 1, $type);
|
||||||
|
$ret_arr = file($file_path."/file1.tmp");
|
||||||
|
var_dump( is_array($ret_arr) );
|
||||||
|
delete_files($file_path, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "\n--- Done ---";
|
||||||
|
?>
|
||||||
|
--EXPECTF--
|
||||||
|
*** Testing file() with basic types of files ***
|
||||||
|
Array
|
||||||
|
(
|
||||||
|
[0] => 2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
|
||||||
|
)
|
||||||
|
Array
|
||||||
|
(
|
||||||
|
[0] => text text text text text text text text text text text text text text text text text text text text
|
||||||
|
)
|
||||||
|
Array
|
||||||
|
(
|
||||||
|
)
|
||||||
|
Array
|
||||||
|
(
|
||||||
|
[0] => line
|
||||||
|
|
||||||
|
[1] => line of text
|
||||||
|
|
||||||
|
[2] => line
|
||||||
|
|
||||||
|
[3] => line of text
|
||||||
|
|
||||||
|
[4] => line
|
||||||
|
|
||||||
|
[5] => line of text
|
||||||
|
|
||||||
|
[6] => line
|
||||||
|
|
||||||
|
[7] => line of text
|
||||||
|
|
||||||
|
[8] => line
|
||||||
|
|
||||||
|
[9] => line of text
|
||||||
|
|
||||||
|
[10] => line
|
||||||
|
|
||||||
|
[11] => line
|
||||||
|
)
|
||||||
|
*** Testing for return type of file() function ***
|
||||||
|
bool(true)
|
||||||
|
bool(true)
|
||||||
|
bool(true)
|
||||||
|
bool(true)
|
||||||
|
|
||||||
|
--- Done ---
|
||||||
|
|
||||||
|
--UEXPECTF--
|
||||||
|
*** Testing file() with basic types of files ***
|
||||||
|
Array
|
||||||
|
(
|
||||||
|
[0] => 2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
|
||||||
|
)
|
||||||
|
Array
|
||||||
|
(
|
||||||
|
[0] => text text text text text text text text text text text text text text text text text text text text
|
||||||
|
)
|
||||||
|
Array
|
||||||
|
(
|
||||||
|
)
|
||||||
|
Array
|
||||||
|
(
|
||||||
|
[0] => line
|
||||||
|
|
||||||
|
[1] => line of text
|
||||||
|
|
||||||
|
[2] => line
|
||||||
|
|
||||||
|
[3] => line of text
|
||||||
|
|
||||||
|
[4] => line
|
||||||
|
|
||||||
|
[5] => line of text
|
||||||
|
|
||||||
|
[6] => line
|
||||||
|
|
||||||
|
[7] => line of text
|
||||||
|
|
||||||
|
[8] => line
|
||||||
|
|
||||||
|
[9] => line of text
|
||||||
|
|
||||||
|
[10] => line
|
||||||
|
|
||||||
|
[11] => line
|
||||||
|
)
|
||||||
|
*** Testing for return type of file() function ***
|
||||||
|
bool(true)
|
||||||
|
bool(true)
|
||||||
|
bool(true)
|
||||||
|
bool(true)
|
||||||
|
|
||||||
|
--- Done ---
|
67
ext/standard/tests/file/file_error.phpt
Normal file
67
ext/standard/tests/file/file_error.phpt
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
--TEST--
|
||||||
|
Test file() function : error conditions
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
/*
|
||||||
|
Prototype: array file ( string filename [,int use-include_path [,resource context]] );
|
||||||
|
Description: Reads entire file into an array
|
||||||
|
Returns the file in an array
|
||||||
|
*/
|
||||||
|
$file_path = dirname(__FILE__);
|
||||||
|
echo "\n*** Testing error conditions ***";
|
||||||
|
$file_handle = fopen($file_path."/file.tmp", "w");
|
||||||
|
var_dump( file() ); // Zero No. of args
|
||||||
|
|
||||||
|
$filename = $file_path."/file.tmp";
|
||||||
|
var_dump( file($filename, $filename, $filename, $filename) ); // more than expected number of arguments
|
||||||
|
|
||||||
|
var_dump( file($filename, "INCORRECT_FLAG", NULL) ); // Incorrect flag
|
||||||
|
var_dump( file($filename, 10, NULL) ); // Incorrect flag
|
||||||
|
|
||||||
|
var_dump( file("temp.tmp") ); // non existing filename
|
||||||
|
fclose($file_handle);
|
||||||
|
|
||||||
|
echo "\n--- Done ---";
|
||||||
|
?>
|
||||||
|
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
$file_path = dirname(__FILE__);
|
||||||
|
unlink($file_path."tmp.tmp");
|
||||||
|
|
||||||
|
?>
|
||||||
|
--EXPECTF--
|
||||||
|
*** Testing error conditions ***
|
||||||
|
Warning: file() expects at least 1 parameter, 0 given in %s on line %d
|
||||||
|
NULL
|
||||||
|
|
||||||
|
Warning: file() expects at most 3 parameters, 4 given in %s on line %d
|
||||||
|
NULL
|
||||||
|
|
||||||
|
Warning: file() expects parameter 2 to be long, string given in %s on line %d
|
||||||
|
NULL
|
||||||
|
array(0) {
|
||||||
|
}
|
||||||
|
|
||||||
|
Warning: file(temp.tmp): failed to open stream: No such file or directory in %s on line %d
|
||||||
|
bool(false)
|
||||||
|
|
||||||
|
--- Done ---
|
||||||
|
|
||||||
|
--UEXPECTF--
|
||||||
|
*** Testing error conditions ***
|
||||||
|
Warning: file() expects at least 1 parameter, 0 given in %s on line %d
|
||||||
|
NULL
|
||||||
|
|
||||||
|
Warning: file() expects at most 3 parameters, 4 given in %s on line %d
|
||||||
|
NULL
|
||||||
|
|
||||||
|
Warning: file() expects parameter 2 to be long, Unicode string given in %s on line %d
|
||||||
|
NULL
|
||||||
|
array(0) {
|
||||||
|
}
|
||||||
|
|
||||||
|
Warning: file(temp.tmp): failed to open stream: No such file or directory in %s on line %d
|
||||||
|
bool(false)
|
||||||
|
|
||||||
|
--- Done ---
|
|
@ -0,0 +1,60 @@
|
||||||
|
--TEST--
|
||||||
|
Test file_put_contents() and file_get_contents() functions : basic functionality
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/* Prototype: string file_get_contents( string $filename[, bool $use_include_path[,
|
||||||
|
* resource $context[, int $offset[, int $maxlen]]]] )
|
||||||
|
* Description: Reads entire file into a string
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Prototype: int file_put_contents( string $filename, mixed $data[, int $flags[, resource $context]] )
|
||||||
|
* Description: Write a string to a file
|
||||||
|
*/
|
||||||
|
|
||||||
|
$file_path = dirname(__FILE__);
|
||||||
|
include($file_path."/file.inc");
|
||||||
|
$filename = "/file_get_contents.tmp";
|
||||||
|
|
||||||
|
echo "*** Testing the basic functionality ***\n";
|
||||||
|
|
||||||
|
echo "-- Testing with simple valid data file --\n";
|
||||||
|
|
||||||
|
fill_buffer($text_buffer, "text", 100);
|
||||||
|
file_put_contents( $file_path.$filename, (binary)$text_buffer );
|
||||||
|
|
||||||
|
var_dump( file_get_contents($file_path.$filename) );
|
||||||
|
|
||||||
|
echo "\n-- Testing with empty file --\n";
|
||||||
|
|
||||||
|
$filename = "/file_get_contents1.tmp";
|
||||||
|
file_put_contents( $file_path.$filename, "");
|
||||||
|
var_dump( file_get_contents( $file_path.$filename ) );
|
||||||
|
|
||||||
|
echo "\n*** Done ***";
|
||||||
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
$file_path = dirname(__FILE__);
|
||||||
|
unlink($file_path."/file_get_contents.tmp");
|
||||||
|
unlink($file_path."/file_get_contents1.tmp");
|
||||||
|
?>
|
||||||
|
--EXPECTF--
|
||||||
|
*** Testing the basic functionality ***
|
||||||
|
-- Testing with simple valid data file --
|
||||||
|
string(100) "text text text text text text text text text text text text text text text text text text text text "
|
||||||
|
|
||||||
|
-- Testing with empty file --
|
||||||
|
string(0) ""
|
||||||
|
|
||||||
|
*** Done ***
|
||||||
|
|
||||||
|
--UEXPECTF--
|
||||||
|
*** Testing the basic functionality ***
|
||||||
|
-- Testing with simple valid data file --
|
||||||
|
string(100) "text text text text text text text text text text text text text text text text text text text text "
|
||||||
|
|
||||||
|
-- Testing with empty file --
|
||||||
|
string(0) ""
|
||||||
|
|
||||||
|
*** Done ***
|
|
@ -0,0 +1,96 @@
|
||||||
|
--TEST--
|
||||||
|
Test file-get_contents() and file_put_contents() functions : error conditions
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
/* Prototype: string file_get_contents( string $filename{, bool $use_include_path[,
|
||||||
|
* resource $context[, int $offset[, int $maxlen]]]] )
|
||||||
|
* Description: Reads entire file into a string
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Prototype: int file_put_contents( string $filename, mixed $data[, int $flags[, resource $context]] )
|
||||||
|
* Description: Write a string to a file
|
||||||
|
*/
|
||||||
|
|
||||||
|
echo "*** Testing error conditions ***\n";
|
||||||
|
|
||||||
|
$file_path = dirname(__FILE__);
|
||||||
|
|
||||||
|
echo "\n-- Testing with Non-existing file --\n";
|
||||||
|
print( file_get_contents("/no/such/file/or/dir") );
|
||||||
|
|
||||||
|
echo "\n-- Testing No.of arguments less than expected --\n";
|
||||||
|
print( file_get_contents() );
|
||||||
|
print( file_put_contents() );
|
||||||
|
print( file_put_contents($file_path."/".__FILE__) );
|
||||||
|
|
||||||
|
$file_handle = fopen($file_path."/file_get_contents.tmp", "w");
|
||||||
|
echo "\n-- Testing No.of arguments greater than expected --\n";
|
||||||
|
print( file_put_contents("abc.tmp", 12345, 1, $file_handle, "extra_argument") );
|
||||||
|
print( file_get_contents("abc.tmp", false, $file_handle, 1, 2, "extra_argument") );
|
||||||
|
|
||||||
|
echo "\n-- Testing for invalid negative maxlen values --";
|
||||||
|
file_put_contents($file_path."/file_get_contents1.tmp", "Garbage data in the file");
|
||||||
|
var_dump( file_get_contents($file_path."/file_get_contents1.tmp", FALSE, NULL, 0, -5) );
|
||||||
|
|
||||||
|
fclose($file_handle);
|
||||||
|
|
||||||
|
echo "\n*** Done ***\n";
|
||||||
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
$file_path = dirname(__FILE__);
|
||||||
|
unlink($file_path."/file_get_contents.tmp");
|
||||||
|
unlink($file_path."/file_get_contents1.tmp");
|
||||||
|
|
||||||
|
?>
|
||||||
|
--EXPECTF--
|
||||||
|
*** Testing error conditions ***
|
||||||
|
|
||||||
|
-- Testing with Non-existing file --
|
||||||
|
|
||||||
|
Warning: file_get_contents(/no/such/file/or/dir): failed to open stream: No such file or directory in %s on line %d
|
||||||
|
|
||||||
|
-- Testing No.of arguments less than expected --
|
||||||
|
|
||||||
|
Warning: file_get_contents() expects at least 1 parameter, 0 given in %s on line %d
|
||||||
|
|
||||||
|
Warning: file_put_contents() expects at least 2 parameters, 0 given in %s on line %d
|
||||||
|
|
||||||
|
Warning: file_put_contents() expects at least 2 parameters, 1 given in %s on line %d
|
||||||
|
|
||||||
|
-- Testing No.of arguments greater than expected --
|
||||||
|
|
||||||
|
Warning: file_put_contents() expects at most 4 parameters, 5 given in %s on line %d
|
||||||
|
|
||||||
|
Warning: file_get_contents() expects at most 5 parameters, 6 given in %s on line %d
|
||||||
|
|
||||||
|
-- Testing for invalid negative maxlen values --
|
||||||
|
Warning: file_get_contents(): length must be greater than or equal to zero in %s on line %d
|
||||||
|
bool(false)
|
||||||
|
|
||||||
|
*** Done ***
|
||||||
|
|
||||||
|
--UEXPECTF--
|
||||||
|
*** Testing error conditions ***
|
||||||
|
|
||||||
|
-- Testing with Non-existing file --
|
||||||
|
|
||||||
|
Warning: file_get_contents(/no/such/file/or/dir): failed to open stream: No such file or directory in %s on line %d
|
||||||
|
|
||||||
|
-- Testing No.of arguments less than expected --
|
||||||
|
|
||||||
|
Warning: file_get_contents() expects at least 1 parameter, 0 given in %s on line %d
|
||||||
|
|
||||||
|
Warning: file_put_contents() expects at least 2 parameters, 0 given in %s on line %d
|
||||||
|
|
||||||
|
-- Testing No.of arguments greater than expected --
|
||||||
|
|
||||||
|
Warning: file_put_contents() expects at most 4 parameters, 5 given in %s on line %d
|
||||||
|
|
||||||
|
Warning: file_get_contents() expects at most 5 parameters, 6 given in %s on line %d
|
||||||
|
|
||||||
|
-- Testing for invalid negative maxlen values --
|
||||||
|
Warning: file_get_contents(): length must be greater than or equal to zero in %s on line %d
|
||||||
|
bool(false)
|
||||||
|
|
||||||
|
*** Done ***
|
253
ext/standard/tests/file/file_variation.phpt
Normal file
253
ext/standard/tests/file/file_variation.phpt
Normal file
|
@ -0,0 +1,253 @@
|
||||||
|
--TEST--
|
||||||
|
Test file() function : Variations
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* Prototype: array file ( string filename [,int use-include_path [,resource context]] );
|
||||||
|
* Description: Reads entire file into an array
|
||||||
|
Returns the file in an array
|
||||||
|
*/
|
||||||
|
require(dirname(__FILE__) . '/file.inc');
|
||||||
|
|
||||||
|
$data_array = array( "Garbage data", "Gar\nba\nge d\nata", "Gar\n\nbage \n\n data" );
|
||||||
|
echo "*** Using various flags values with different data in a file\n";
|
||||||
|
$count=1;
|
||||||
|
$file_path = dirname(__FILE__);
|
||||||
|
foreach( $data_array as $data ) {
|
||||||
|
echo "--Iteration $count --\n";
|
||||||
|
$fh = fopen($file_path."/file.tmp", "w");
|
||||||
|
fwrite($fh, (binary)$data);
|
||||||
|
var_dump( file($file_path."/file.tmp", FILE_IGNORE_NEW_LINES) );
|
||||||
|
var_dump( file($file_path."/file.tmp", FILE_SKIP_EMPTY_LINES) );
|
||||||
|
$count++;
|
||||||
|
fclose($fh);
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "*** Testing with variation in use_include_path argument ***\n";
|
||||||
|
$file_path1 = dirname(__FILE__)."/file";
|
||||||
|
mkdir($file_path1);
|
||||||
|
ini_set( 'include_path',$file_path.'/file' );
|
||||||
|
|
||||||
|
file_put_contents( $file_path1."/file1.tmp", "aaaaaaaaaaaaaaabbbbbbbbbbb111111111222222222" );
|
||||||
|
var_dump( file("file1.tmp", FILE_USE_INCLUDE_PATH) );
|
||||||
|
var_dump( file($file_path1."/file1.tmp", 1) );
|
||||||
|
|
||||||
|
echo "*** Using file function to remove line containing a key string ***\n";
|
||||||
|
$file_handle = fopen($file_path."/file2.tmp", "w");
|
||||||
|
$key = "SEARCH_KEY";
|
||||||
|
fwrite( $file_handle, (binary)"The key string to be searched is SEARCH_KEY\nLine without key string\nThe key string to be searched is SEARCH_KEY" );
|
||||||
|
$out_array = file($file_path."/file2.tmp");
|
||||||
|
|
||||||
|
echo "File contents in array form Before replacement of the key\n";
|
||||||
|
var_dump( $out_array );
|
||||||
|
$file_handle2 = fopen($file_path."/file3.tmp", "w");
|
||||||
|
// Loop through file content array
|
||||||
|
foreach($out_array as $line) {
|
||||||
|
if( !strstr( $line, $key ) )
|
||||||
|
fputs($file_handle2,$line);
|
||||||
|
}
|
||||||
|
echo "File contents in array form After replacement of the key\n";
|
||||||
|
var_dump( file($file_path."/file3.tmp" ));
|
||||||
|
fclose($file_handle);
|
||||||
|
fclose($file_handle2);
|
||||||
|
|
||||||
|
echo "\n--- Done ---";
|
||||||
|
?>
|
||||||
|
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
$file_path = dirname(__FILE__);
|
||||||
|
unlink($file_path."/file.tmp");
|
||||||
|
unlink($file_path."/file/file1.tmp");
|
||||||
|
unlink($file_path."/file2.tmp");
|
||||||
|
unlink($file_path."/file3.tmp");
|
||||||
|
rmdir($file_path."/file");
|
||||||
|
|
||||||
|
?>
|
||||||
|
--EXPECTF--
|
||||||
|
*** Using various flags values with different data in a file
|
||||||
|
--Iteration 1 --
|
||||||
|
array(1) {
|
||||||
|
[0]=>
|
||||||
|
string(12) "Garbage data"
|
||||||
|
}
|
||||||
|
array(1) {
|
||||||
|
[0]=>
|
||||||
|
string(12) "Garbage data"
|
||||||
|
}
|
||||||
|
--Iteration 2 --
|
||||||
|
array(4) {
|
||||||
|
[0]=>
|
||||||
|
string(3) "Gar"
|
||||||
|
[1]=>
|
||||||
|
string(2) "ba"
|
||||||
|
[2]=>
|
||||||
|
string(4) "ge d"
|
||||||
|
[3]=>
|
||||||
|
string(3) "ata"
|
||||||
|
}
|
||||||
|
array(4) {
|
||||||
|
[0]=>
|
||||||
|
string(4) "Gar
|
||||||
|
"
|
||||||
|
[1]=>
|
||||||
|
string(3) "ba
|
||||||
|
"
|
||||||
|
[2]=>
|
||||||
|
string(5) "ge d
|
||||||
|
"
|
||||||
|
[3]=>
|
||||||
|
string(3) "ata"
|
||||||
|
}
|
||||||
|
--Iteration 3 --
|
||||||
|
array(5) {
|
||||||
|
[0]=>
|
||||||
|
string(3) "Gar"
|
||||||
|
[1]=>
|
||||||
|
string(0) ""
|
||||||
|
[2]=>
|
||||||
|
string(5) "bage "
|
||||||
|
[3]=>
|
||||||
|
string(0) ""
|
||||||
|
[4]=>
|
||||||
|
string(5) " data"
|
||||||
|
}
|
||||||
|
array(5) {
|
||||||
|
[0]=>
|
||||||
|
string(4) "Gar
|
||||||
|
"
|
||||||
|
[1]=>
|
||||||
|
string(1) "
|
||||||
|
"
|
||||||
|
[2]=>
|
||||||
|
string(6) "bage
|
||||||
|
"
|
||||||
|
[3]=>
|
||||||
|
string(1) "
|
||||||
|
"
|
||||||
|
[4]=>
|
||||||
|
string(5) " data"
|
||||||
|
}
|
||||||
|
*** Testing with variation in use_include_path argument ***
|
||||||
|
array(1) {
|
||||||
|
[0]=>
|
||||||
|
string(44) "aaaaaaaaaaaaaaabbbbbbbbbbb111111111222222222"
|
||||||
|
}
|
||||||
|
array(1) {
|
||||||
|
[0]=>
|
||||||
|
string(44) "aaaaaaaaaaaaaaabbbbbbbbbbb111111111222222222"
|
||||||
|
}
|
||||||
|
*** Using file function to remove line containing a key string ***
|
||||||
|
File contents in array form Before replacement of the key
|
||||||
|
array(3) {
|
||||||
|
[0]=>
|
||||||
|
string(44) "The key string to be searched is SEARCH_KEY
|
||||||
|
"
|
||||||
|
[1]=>
|
||||||
|
string(24) "Line without key string
|
||||||
|
"
|
||||||
|
[2]=>
|
||||||
|
string(43) "The key string to be searched is SEARCH_KEY"
|
||||||
|
}
|
||||||
|
File contents in array form After replacement of the key
|
||||||
|
array(1) {
|
||||||
|
[0]=>
|
||||||
|
string(24) "Line without key string
|
||||||
|
"
|
||||||
|
}
|
||||||
|
|
||||||
|
--- Done ---
|
||||||
|
|
||||||
|
--UEXPECTF--
|
||||||
|
*** Using various flags values with different data in a file
|
||||||
|
--Iteration 1 --
|
||||||
|
array(1) {
|
||||||
|
[0]=>
|
||||||
|
string(12) "Garbage data"
|
||||||
|
}
|
||||||
|
array(1) {
|
||||||
|
[0]=>
|
||||||
|
string(12) "Garbage data"
|
||||||
|
}
|
||||||
|
--Iteration 2 --
|
||||||
|
array(4) {
|
||||||
|
[0]=>
|
||||||
|
string(3) "Gar"
|
||||||
|
[1]=>
|
||||||
|
string(2) "ba"
|
||||||
|
[2]=>
|
||||||
|
string(4) "ge d"
|
||||||
|
[3]=>
|
||||||
|
string(3) "ata"
|
||||||
|
}
|
||||||
|
array(4) {
|
||||||
|
[0]=>
|
||||||
|
string(4) "Gar
|
||||||
|
"
|
||||||
|
[1]=>
|
||||||
|
string(3) "ba
|
||||||
|
"
|
||||||
|
[2]=>
|
||||||
|
string(5) "ge d
|
||||||
|
"
|
||||||
|
[3]=>
|
||||||
|
string(3) "ata"
|
||||||
|
}
|
||||||
|
--Iteration 3 --
|
||||||
|
array(5) {
|
||||||
|
[0]=>
|
||||||
|
string(3) "Gar"
|
||||||
|
[1]=>
|
||||||
|
string(0) ""
|
||||||
|
[2]=>
|
||||||
|
string(5) "bage "
|
||||||
|
[3]=>
|
||||||
|
string(0) ""
|
||||||
|
[4]=>
|
||||||
|
string(5) " data"
|
||||||
|
}
|
||||||
|
array(5) {
|
||||||
|
[0]=>
|
||||||
|
string(4) "Gar
|
||||||
|
"
|
||||||
|
[1]=>
|
||||||
|
string(1) "
|
||||||
|
"
|
||||||
|
[2]=>
|
||||||
|
string(6) "bage
|
||||||
|
"
|
||||||
|
[3]=>
|
||||||
|
string(1) "
|
||||||
|
"
|
||||||
|
[4]=>
|
||||||
|
string(5) " data"
|
||||||
|
}
|
||||||
|
*** Testing with variation in use_include_path argument ***
|
||||||
|
array(1) {
|
||||||
|
[0]=>
|
||||||
|
string(44) "aaaaaaaaaaaaaaabbbbbbbbbbb111111111222222222"
|
||||||
|
}
|
||||||
|
array(1) {
|
||||||
|
[0]=>
|
||||||
|
string(44) "aaaaaaaaaaaaaaabbbbbbbbbbb111111111222222222"
|
||||||
|
}
|
||||||
|
*** Using file function to remove line containing a key string ***
|
||||||
|
File contents in array form Before replacement of the key
|
||||||
|
array(3) {
|
||||||
|
[0]=>
|
||||||
|
string(44) "The key string to be searched is SEARCH_KEY
|
||||||
|
"
|
||||||
|
[1]=>
|
||||||
|
string(24) "Line without key string
|
||||||
|
"
|
||||||
|
[2]=>
|
||||||
|
string(43) "The key string to be searched is SEARCH_KEY"
|
||||||
|
}
|
||||||
|
File contents in array form After replacement of the key
|
||||||
|
array(1) {
|
||||||
|
[0]=>
|
||||||
|
string(24) "Line without key string
|
||||||
|
"
|
||||||
|
}
|
||||||
|
|
||||||
|
--- Done ---
|
251
ext/standard/tests/file/is_executable_variation.phpt
Normal file
251
ext/standard/tests/file/is_executable_variation.phpt
Normal file
|
@ -0,0 +1,251 @@
|
||||||
|
--TEST--
|
||||||
|
Test is_executable() function: usage variations
|
||||||
|
--SKIPIF--
|
||||||
|
<?php
|
||||||
|
if (substr(PHP_OS, 0, 3) == 'WIN') {
|
||||||
|
die('skip.. only for LINUX');
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
/* Prototype: bool is_executable ( string $filename );
|
||||||
|
Description: Tells whether the filename is executable
|
||||||
|
*/
|
||||||
|
|
||||||
|
require dirname(__FILE__).'/file.inc';
|
||||||
|
echo "*** Testing is_executable(): usage variations ***\n";
|
||||||
|
|
||||||
|
$file_path = dirname(__FILE__);
|
||||||
|
mkdir("$file_path/is_executable");
|
||||||
|
|
||||||
|
// create a new temporary file
|
||||||
|
$fp = fopen("$file_path/is_executable/bar.tmp", "w");
|
||||||
|
fclose($fp);
|
||||||
|
|
||||||
|
/* array of files checked to see if they are executable files
|
||||||
|
using is_executable() function */
|
||||||
|
$files_arr = array(
|
||||||
|
"$file_path/is_executable/bar.tmp",
|
||||||
|
|
||||||
|
/* Testing a file with trailing slash */
|
||||||
|
"$file_path/is_executable/bar.tmp/",
|
||||||
|
|
||||||
|
/* Testing file with double slashes */
|
||||||
|
"$file_path/is_executable//bar.tmp",
|
||||||
|
"$file_path/is_executable/*.tmp",
|
||||||
|
"$file_path/is_executable/b*.tmp",
|
||||||
|
|
||||||
|
/* Testing Binary safe */
|
||||||
|
"$file_path/is_executable".chr(0)."bar.temp",
|
||||||
|
"$file_path".chr(0)."is_executable/bar.temp",
|
||||||
|
"$file_path/is_executablex000/",
|
||||||
|
|
||||||
|
/* Testing directories */
|
||||||
|
".", // current directory, exp: bool(true)
|
||||||
|
"$file_path/is_executable" // temp directory, exp: bool(true)
|
||||||
|
);
|
||||||
|
$counter = 1;
|
||||||
|
/* loop through to test each element in the above array
|
||||||
|
is an executable file */
|
||||||
|
foreach($files_arr as $file) {
|
||||||
|
echo "-- Iteration $counter --\n";
|
||||||
|
var_dump( is_executable($file) );
|
||||||
|
$counter++;
|
||||||
|
clearstatcache();
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "\n*** Testing is_executable() on directory without execute permission ***\n";
|
||||||
|
chmod("$file_path/is_executable", 0444);
|
||||||
|
var_dump( is_executable("$file_path/is_executable") ); // exp: bool(false)
|
||||||
|
chmod("$file_path/is_executable", 0777); // chmod to enable deletion of directory
|
||||||
|
|
||||||
|
echo "\n*** Testing miscelleneous input for is_executable() function ***\n";
|
||||||
|
$name_prefix = "is_executable";
|
||||||
|
create_files(dirname(__FILE__), 1, "numeric", 0755, 1, "w", $name_prefix, 1);
|
||||||
|
create_files(dirname(__FILE__), 1, "text", 0755, 1, "w", $name_prefix, 2);
|
||||||
|
create_files(dirname(__FILE__), 1, "empty", 0755, 1, "w", $name_prefix, 3);
|
||||||
|
create_files(dirname(__FILE__), 1, "numeric", 0755, 1, "w", $name_prefix, 4);
|
||||||
|
create_files(dirname(__FILE__), 1, "text", 0222, 1, "w", $name_prefix, 5);
|
||||||
|
create_files(dirname(__FILE__), 1, "numeric", 0711, 1, "w", $name_prefix, 6);
|
||||||
|
create_files(dirname(__FILE__), 1, "text", 0714, 1, "w", $name_prefix, 7);
|
||||||
|
create_files(dirname(__FILE__), 1, "numeric", 0744, 1, "w", $name_prefix, 8);
|
||||||
|
create_files(dirname(__FILE__), 1, "text", 0421, 1, "w", $name_prefix, 9);
|
||||||
|
create_files(dirname(__FILE__), 1, "text", 0712, 1, "w", $name_prefix, 10);
|
||||||
|
|
||||||
|
$files = array (
|
||||||
|
"$file_path/is_executable1.tmp",
|
||||||
|
"$file_path/is_executable2.tmp",
|
||||||
|
"$file_path/is_executable3.tmp",
|
||||||
|
"$file_path/is_executable4.tmp",
|
||||||
|
"$file_path/is_executable5.tmp",
|
||||||
|
"$file_path/is_executable6.tmp",
|
||||||
|
"$file_path/is_executable7.tmp",
|
||||||
|
"$file_path/is_executable8.tmp",
|
||||||
|
"$file_path/is_executable9.tmp",
|
||||||
|
"$file_path/is_executable10.tmp",
|
||||||
|
);
|
||||||
|
$counter = 1;
|
||||||
|
/* loop through to test each element in the above array
|
||||||
|
is an executable file */
|
||||||
|
foreach($files as $file) {
|
||||||
|
echo "-- Iteration $counter --\n";
|
||||||
|
var_dump( is_executable($file) );
|
||||||
|
$counter++;
|
||||||
|
clearstatcache();
|
||||||
|
}
|
||||||
|
|
||||||
|
// change all file's permissions to 777 before deleting
|
||||||
|
change_file_perms($file_path, 10, 0777, $name_prefix);
|
||||||
|
delete_files($file_path, 10, $name_prefix);
|
||||||
|
|
||||||
|
$file_handle = fopen(__FILE__, "r");
|
||||||
|
unset($file_handle);
|
||||||
|
|
||||||
|
echo "\n*** Testing is_executable() on invalid files ***\n";
|
||||||
|
$invalid_files = array(
|
||||||
|
0,
|
||||||
|
1234,
|
||||||
|
-2.34555,
|
||||||
|
"string",
|
||||||
|
TRUE,
|
||||||
|
FALSE,
|
||||||
|
NULL,
|
||||||
|
@array(),
|
||||||
|
@$file_handle
|
||||||
|
);
|
||||||
|
/* loop through to test each element in the above array
|
||||||
|
is an executable file */
|
||||||
|
foreach( $invalid_files as $invalid_file ) {
|
||||||
|
var_dump( is_executable($invalid_file) );
|
||||||
|
clearstatcache();
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "Done\n";
|
||||||
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
unlink(dirname(__FILE__)."/is_executable/bar.tmp");
|
||||||
|
rmdir(dirname(__FILE__)."/is_executable/");
|
||||||
|
?>
|
||||||
|
--EXPECTF--
|
||||||
|
*** Testing is_executable(): usage variations ***
|
||||||
|
-- Iteration 1 --
|
||||||
|
bool(false)
|
||||||
|
-- Iteration 2 --
|
||||||
|
bool(false)
|
||||||
|
-- Iteration 3 --
|
||||||
|
bool(false)
|
||||||
|
-- Iteration 4 --
|
||||||
|
bool(false)
|
||||||
|
-- Iteration 5 --
|
||||||
|
bool(false)
|
||||||
|
-- Iteration 6 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 7 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 8 --
|
||||||
|
bool(false)
|
||||||
|
-- Iteration 9 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 10 --
|
||||||
|
bool(true)
|
||||||
|
|
||||||
|
*** Testing is_executable() on directory without execute permission ***
|
||||||
|
bool(false)
|
||||||
|
|
||||||
|
*** Testing miscelleneous input for is_executable() function ***
|
||||||
|
-- Iteration 1 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 2 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 3 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 4 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 5 --
|
||||||
|
bool(false)
|
||||||
|
-- Iteration 6 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 7 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 8 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 9 --
|
||||||
|
bool(false)
|
||||||
|
-- Iteration 10 --
|
||||||
|
bool(true)
|
||||||
|
|
||||||
|
*** Testing is_executable() on invalid files ***
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
|
||||||
|
Warning: is_executable() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d
|
||||||
|
NULL
|
||||||
|
bool(false)
|
||||||
|
Done
|
||||||
|
--UEXPECTF--
|
||||||
|
*** Testing is_executable(): usage variations ***
|
||||||
|
-- Iteration 1 --
|
||||||
|
bool(false)
|
||||||
|
-- Iteration 2 --
|
||||||
|
bool(false)
|
||||||
|
-- Iteration 3 --
|
||||||
|
bool(false)
|
||||||
|
-- Iteration 4 --
|
||||||
|
bool(false)
|
||||||
|
-- Iteration 5 --
|
||||||
|
bool(false)
|
||||||
|
-- Iteration 6 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 7 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 8 --
|
||||||
|
bool(false)
|
||||||
|
-- Iteration 9 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 10 --
|
||||||
|
bool(true)
|
||||||
|
|
||||||
|
*** Testing is_executable() on directory without execute permission ***
|
||||||
|
bool(false)
|
||||||
|
|
||||||
|
*** Testing miscelleneous input for is_executable() function ***
|
||||||
|
-- Iteration 1 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 2 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 3 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 4 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 5 --
|
||||||
|
bool(false)
|
||||||
|
-- Iteration 6 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 7 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 8 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 9 --
|
||||||
|
bool(false)
|
||||||
|
-- Iteration 10 --
|
||||||
|
bool(true)
|
||||||
|
|
||||||
|
*** Testing is_executable() on invalid files ***
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
|
||||||
|
Warning: is_executable() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d
|
||||||
|
NULL
|
||||||
|
bool(false)
|
||||||
|
Done
|
263
ext/standard/tests/file/is_readable_variation.phpt
Normal file
263
ext/standard/tests/file/is_readable_variation.phpt
Normal file
|
@ -0,0 +1,263 @@
|
||||||
|
--TEST--
|
||||||
|
Test is_readable() function: usage variations
|
||||||
|
--SKIPIF--
|
||||||
|
<?php
|
||||||
|
if (substr(PHP_OS, 0, 3) == 'WIN') {
|
||||||
|
die('skip.. only for LINUX');
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
/* Prototype: bool is_readable ( string $filename );
|
||||||
|
Description: Tells whether the filename is readable.
|
||||||
|
*/
|
||||||
|
|
||||||
|
require dirname(__FILE__).'/file.inc';
|
||||||
|
echo "*** Testing is_readable(): usage variations ***\n";
|
||||||
|
|
||||||
|
$file_path = dirname(__FILE__);
|
||||||
|
mkdir("$file_path/is_readable");
|
||||||
|
|
||||||
|
//create a temporary file
|
||||||
|
$fp = fopen("$file_path/is_readable/bar.tmp", "w");
|
||||||
|
fclose($fp);
|
||||||
|
|
||||||
|
/* array of files to be tested if they are readable by using
|
||||||
|
is_readable() function */
|
||||||
|
$files_arr = array(
|
||||||
|
"$file_path/is_readable/bar.tmp",
|
||||||
|
|
||||||
|
/* Testing a file trailing slash */
|
||||||
|
"$file_path/is_readable/bar.tmp/",
|
||||||
|
|
||||||
|
/* Testing file with double slashes */
|
||||||
|
"$file_path/is_readable//bar.tmp",
|
||||||
|
"$file_path//is_readable//bar.tmp",
|
||||||
|
"$file_path/is_readable/*.tmp",
|
||||||
|
"$file_path/is_readable/b*.tmp",
|
||||||
|
|
||||||
|
/* Testing Binary safe */
|
||||||
|
"$file_path/is_readable".chr(47)."bar.tmp",
|
||||||
|
"$file_path".chr(47)."is_readable/bar.tmp",
|
||||||
|
b"$file_path/is_readable/bar.tmp",
|
||||||
|
|
||||||
|
/* Testing directories */
|
||||||
|
".", // current directory, exp: bool(true)
|
||||||
|
"$file_path/is_readable" // temp directory, exp: bool(true)
|
||||||
|
);
|
||||||
|
$counter = 1;
|
||||||
|
/* loop through to test each element in the above array
|
||||||
|
is a writable file */
|
||||||
|
foreach($files_arr as $file) {
|
||||||
|
echo "-- Iteration $counter --\n";
|
||||||
|
var_dump( is_readable($file) );
|
||||||
|
$counter++;
|
||||||
|
clearstatcache();
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "\n*** Testing is_readable() on directory without read permission ***\n";
|
||||||
|
chmod("$file_path/is_readable", 0001);
|
||||||
|
var_dump( is_readable("$file_path/is_readable") ); // exp: bool(false)
|
||||||
|
chmod("$file_path/is_readable", 0777); // chmod to enable deletion of directory
|
||||||
|
|
||||||
|
echo "\n*** Testing miscelleneous input for is_readable() function ***\n";
|
||||||
|
$name_prefix = "is_readable";
|
||||||
|
create_files(dirname(__FILE__), 1, "numeric", 0755, 1, "w", $name_prefix, 1);
|
||||||
|
create_files(dirname(__FILE__), 1, "text", 0755, 1, "w", $name_prefix, 2);
|
||||||
|
create_files(dirname(__FILE__), 1, "empty", 0755, 1, "w", $name_prefix, 3);
|
||||||
|
create_files(dirname(__FILE__), 1, "numeric", 0555, 1, "w", $name_prefix, 4);
|
||||||
|
create_files(dirname(__FILE__), 1, "text", 0222, 1, "w", $name_prefix, 5);
|
||||||
|
create_files(dirname(__FILE__), 1, "numeric", 0711, 1, "w", $name_prefix, 6);
|
||||||
|
create_files(dirname(__FILE__), 1, "text", 0411, 1, "w", $name_prefix, 7);
|
||||||
|
create_files(dirname(__FILE__), 1, "numeric", 0444, 1, "w", $name_prefix, 8);
|
||||||
|
create_files(dirname(__FILE__), 1, "text", 0421, 1, "w", $name_prefix, 9);
|
||||||
|
create_files(dirname(__FILE__), 1, "text", 0422, 1, "w", $name_prefix, 10);
|
||||||
|
|
||||||
|
$files = array (
|
||||||
|
"$file_path/is_readable1.tmp",
|
||||||
|
"$file_path/is_readable2.tmp",
|
||||||
|
"$file_path/is_readable3.tmp",
|
||||||
|
"$file_path/is_readable4.tmp",
|
||||||
|
"$file_path/is_readable5.tmp",
|
||||||
|
"$file_path/is_readable6.tmp",
|
||||||
|
"$file_path/is_readable7.tmp",
|
||||||
|
"$file_path/is_readable8.tmp",
|
||||||
|
"$file_path/is_readable9.tmp",
|
||||||
|
"$file_path/is_readable10.tmp"
|
||||||
|
);
|
||||||
|
$counter = 1;
|
||||||
|
/* loop through to test each element in the above array
|
||||||
|
is a readable file */
|
||||||
|
foreach($files as $file) {
|
||||||
|
echo "-- Iteration $counter --\n";
|
||||||
|
var_dump( is_readable($file) );
|
||||||
|
$counter++;
|
||||||
|
clearstatcache();
|
||||||
|
}
|
||||||
|
|
||||||
|
// change all file's permissions to 777 before deleting
|
||||||
|
change_file_perms($file_path, 10, 0777, $name_prefix);
|
||||||
|
delete_files($file_path, 10, $name_prefix);
|
||||||
|
|
||||||
|
$file_handle = fopen(__FILE__, "r");
|
||||||
|
unset($file_handle);
|
||||||
|
|
||||||
|
echo "\n*** Testing is_readable() on miscelleneous filenames ***\n";
|
||||||
|
$misc_files = array(
|
||||||
|
0,
|
||||||
|
1234,
|
||||||
|
-2.34555,
|
||||||
|
"string",
|
||||||
|
TRUE,
|
||||||
|
FALSE,
|
||||||
|
NULL,
|
||||||
|
@array(),
|
||||||
|
@$file_handle,
|
||||||
|
new stdclass
|
||||||
|
);
|
||||||
|
/* loop through to test each element in the above array
|
||||||
|
is a readable file */
|
||||||
|
foreach( $misc_files as $misc_file ) {
|
||||||
|
var_dump( is_readable($misc_file) );
|
||||||
|
clearstatcache();
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "Done\n";
|
||||||
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
unlink(dirname(__FILE__)."/is_readable/bar.tmp");
|
||||||
|
rmdir(dirname(__FILE__)."/is_readable/");
|
||||||
|
?>
|
||||||
|
--EXPECTF--
|
||||||
|
*** Testing is_readable(): usage variations ***
|
||||||
|
-- Iteration 1 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 2 --
|
||||||
|
bool(false)
|
||||||
|
-- Iteration 3 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 4 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 5 --
|
||||||
|
bool(false)
|
||||||
|
-- Iteration 6 --
|
||||||
|
bool(false)
|
||||||
|
-- Iteration 7 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 8 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 9 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 10 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 11 --
|
||||||
|
bool(true)
|
||||||
|
|
||||||
|
*** Testing is_readable() on directory without read permission ***
|
||||||
|
bool(false)
|
||||||
|
|
||||||
|
*** Testing miscelleneous input for is_readable() function ***
|
||||||
|
-- Iteration 1 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 2 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 3 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 4 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 5 --
|
||||||
|
bool(false)
|
||||||
|
-- Iteration 6 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 7 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 8 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 9 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 10 --
|
||||||
|
bool(true)
|
||||||
|
|
||||||
|
*** Testing is_readable() on miscelleneous filenames ***
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
|
||||||
|
Warning: is_readable() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d
|
||||||
|
NULL
|
||||||
|
bool(false)
|
||||||
|
|
||||||
|
Warning: is_readable() expects parameter 1 to be string (Unicode or binary), object given in %s on line %d
|
||||||
|
NULL
|
||||||
|
Done
|
||||||
|
--UEXPECTF--
|
||||||
|
*** Testing is_readable(): usage variations ***
|
||||||
|
-- Iteration 1 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 2 --
|
||||||
|
bool(false)
|
||||||
|
-- Iteration 3 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 4 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 5 --
|
||||||
|
bool(false)
|
||||||
|
-- Iteration 6 --
|
||||||
|
bool(false)
|
||||||
|
-- Iteration 7 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 8 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 9 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 10 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 11 --
|
||||||
|
bool(true)
|
||||||
|
|
||||||
|
*** Testing is_readable() on directory without read permission ***
|
||||||
|
bool(false)
|
||||||
|
|
||||||
|
*** Testing miscelleneous input for is_readable() function ***
|
||||||
|
-- Iteration 1 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 2 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 3 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 4 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 5 --
|
||||||
|
bool(false)
|
||||||
|
-- Iteration 6 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 7 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 8 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 9 --
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 10 --
|
||||||
|
bool(true)
|
||||||
|
|
||||||
|
*** Testing is_readable() on miscelleneous filenames ***
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
|
||||||
|
Warning: is_readable() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d
|
||||||
|
NULL
|
||||||
|
bool(false)
|
||||||
|
|
||||||
|
Warning: is_readable() expects parameter 1 to be string (Unicode or binary), object given in %s on line %d
|
||||||
|
NULL
|
||||||
|
Done
|
343
ext/standard/tests/file/is_writable_variation.phpt
Normal file
343
ext/standard/tests/file/is_writable_variation.phpt
Normal file
|
@ -0,0 +1,343 @@
|
||||||
|
--TEST--
|
||||||
|
Test is_writable() and its alias is_writeable() function: usage variations
|
||||||
|
--SKIPIF--
|
||||||
|
<?php
|
||||||
|
if (substr(PHP_OS, 0, 3) == 'WIN') {
|
||||||
|
die('skip.. only for LINUX');
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
/* Prototype: bool is_writable ( string $filename );
|
||||||
|
Description: Tells whether the filename is writable.
|
||||||
|
|
||||||
|
is_writeable() is an alias of is_writable()
|
||||||
|
*/
|
||||||
|
|
||||||
|
require dirname(__FILE__).'/file.inc';
|
||||||
|
echo "*** Testing is_writable(): usage variations ***\n";
|
||||||
|
|
||||||
|
$file_path = dirname(__FILE__);
|
||||||
|
mkdir("$file_path/is_writable");
|
||||||
|
|
||||||
|
//create a temporary file
|
||||||
|
$fp = fopen("$file_path/is_writable/bar.tmp", "w");
|
||||||
|
fclose($fp);
|
||||||
|
|
||||||
|
/* array of files to be tested to check if they are writable
|
||||||
|
using is_writable() function */
|
||||||
|
$files_arr = array(
|
||||||
|
"$file_path/is_writable/bar.tmp",
|
||||||
|
|
||||||
|
/* Testing a file trailing slash */
|
||||||
|
"$file_path/is_writable/bar.tmp/",
|
||||||
|
|
||||||
|
/* Testing file with double slashes */
|
||||||
|
"$file_path/is_writable//bar.tmp",
|
||||||
|
"$file_path//is_writable//bar.tmp",
|
||||||
|
"$file_path/is_writable/*.tmp",
|
||||||
|
"$file_path/is_writable/b*.tmp",
|
||||||
|
|
||||||
|
/* Testing Binary safe */
|
||||||
|
"$file_path/is_writable".chr(0)."bar.tmp",
|
||||||
|
"$file_path".chr(0)."is_writable/bar.tmp",
|
||||||
|
b"$file_path/is_writable/bar.tmp",
|
||||||
|
|
||||||
|
/* Testing directories */
|
||||||
|
".", // current directory, exp: bool(true)
|
||||||
|
"$file_path/is_writable" // temp directory, exp: bool(true)
|
||||||
|
);
|
||||||
|
$counter = 1;
|
||||||
|
/* loop through to test each element in the above array
|
||||||
|
is a writable file */
|
||||||
|
foreach($files_arr as $file) {
|
||||||
|
echo "-- Iteration $counter --\n";
|
||||||
|
var_dump( is_writable($file) );
|
||||||
|
var_dump( is_writeable($file) );
|
||||||
|
$counter++;
|
||||||
|
clearstatcache();
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "\n*** Testing is_writable() on directory without write permission ***\n";
|
||||||
|
chmod("$file_path/is_writable", 0004);
|
||||||
|
var_dump( is_writable("$file_path/is_writable") ); // exp: bool(false)
|
||||||
|
var_dump( is_writeable("$file_path/is_writable") ); // exp: bool(false)
|
||||||
|
chmod("$file_path/is_writable", 0777); // chmod to enable deletion of directory
|
||||||
|
|
||||||
|
echo "\n*** Testing miscelleneous input for is_writable() function ***\n";
|
||||||
|
$name_prefix = "is_writable";
|
||||||
|
create_files(dirname(__FILE__), 1, "numeric", 0755, 1, "w", $name_prefix, 1);
|
||||||
|
create_files(dirname(__FILE__), 1, "text", 0755, 1, "w", $name_prefix, 2);
|
||||||
|
create_files(dirname(__FILE__), 1, "empty", 0755, 1, "w", $name_prefix, 3);
|
||||||
|
create_files(dirname(__FILE__), 1, "numeric", 0555, 1, "w", $name_prefix, 4);
|
||||||
|
create_files(dirname(__FILE__), 1, "text", 0222, 1, "w", $name_prefix, 5);
|
||||||
|
create_files(dirname(__FILE__), 1, "numeric", 0711, 1, "w", $name_prefix, 6);
|
||||||
|
create_files(dirname(__FILE__), 1, "text", 0114, 1, "w", $name_prefix, 7);
|
||||||
|
create_files(dirname(__FILE__), 1, "numeric", 0244, 1, "w", $name_prefix, 8);
|
||||||
|
create_files(dirname(__FILE__), 1, "text", 0421, 1, "w", $name_prefix, 9);
|
||||||
|
create_files(dirname(__FILE__), 1, "text", 0422, 1, "w", $name_prefix, 10);
|
||||||
|
|
||||||
|
$misc_files = array (
|
||||||
|
"$file_path/is_writable1.tmp",
|
||||||
|
"$file_path/is_writable2.tmp",
|
||||||
|
"$file_path/is_writable3.tmp",
|
||||||
|
"$file_path/is_writable4.tmp",
|
||||||
|
"$file_path/is_writable5.tmp",
|
||||||
|
"$file_path/is_writable6.tmp",
|
||||||
|
"$file_path/is_writable7.tmp",
|
||||||
|
"$file_path/is_writable8.tmp",
|
||||||
|
"$file_path/is_writable9.tmp",
|
||||||
|
"$file_path/is_writable10.tmp"
|
||||||
|
);
|
||||||
|
|
||||||
|
$counter = 1;
|
||||||
|
/* loop through to test each element in the above array
|
||||||
|
is a writable file */
|
||||||
|
foreach($misc_files as $misc_file) {
|
||||||
|
echo "-- Iteration $counter --\n";
|
||||||
|
var_dump( is_writable($misc_file) );
|
||||||
|
var_dump( is_writeable($misc_file) );
|
||||||
|
$counter++;
|
||||||
|
clearstatcache();
|
||||||
|
}
|
||||||
|
|
||||||
|
// change all file's permissions to 777 before deleting
|
||||||
|
change_file_perms($file_path, 10, 0777, $name_prefix);
|
||||||
|
delete_files($file_path, 10, $name_prefix);
|
||||||
|
|
||||||
|
$file_handle = fopen(__FILE__, "r");
|
||||||
|
unset($file_handle);
|
||||||
|
|
||||||
|
clearstatcache();
|
||||||
|
echo "\n*** Testing is_writable() on miscelleneous filenames ***\n";
|
||||||
|
$misc_files = array(
|
||||||
|
0,
|
||||||
|
1234,
|
||||||
|
-2.34555,
|
||||||
|
"string",
|
||||||
|
TRUE,
|
||||||
|
FALSE,
|
||||||
|
NULL,
|
||||||
|
@array(),
|
||||||
|
@$file_handle,
|
||||||
|
new stdclass
|
||||||
|
);
|
||||||
|
/* loop through to test each element in the above array
|
||||||
|
is a writable file */
|
||||||
|
foreach( $misc_files as $misc_file ) {
|
||||||
|
var_dump( is_writable($misc_file) );
|
||||||
|
var_dump( is_writeable($misc_file) );
|
||||||
|
clearstatcache();
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "Done\n";
|
||||||
|
?>
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
unlink(dirname(__FILE__)."/is_writable/bar.tmp");
|
||||||
|
rmdir(dirname(__FILE__)."/is_writable/");
|
||||||
|
?>
|
||||||
|
--EXPECTF--
|
||||||
|
*** Testing is_writable(): usage variations ***
|
||||||
|
-- Iteration 1 --
|
||||||
|
bool(true)
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 2 --
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
-- Iteration 3 --
|
||||||
|
bool(true)
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 4 --
|
||||||
|
bool(true)
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 5 --
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
-- Iteration 6 --
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
-- Iteration 7 --
|
||||||
|
bool(true)
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 8 --
|
||||||
|
bool(true)
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 9 --
|
||||||
|
bool(true)
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 10 --
|
||||||
|
bool(true)
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 11 --
|
||||||
|
bool(true)
|
||||||
|
bool(true)
|
||||||
|
|
||||||
|
*** Testing is_writable() on directory without write permission ***
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
|
||||||
|
*** Testing miscelleneous input for is_writable() function ***
|
||||||
|
-- Iteration 1 --
|
||||||
|
bool(true)
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 2 --
|
||||||
|
bool(true)
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 3 --
|
||||||
|
bool(true)
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 4 --
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
-- Iteration 5 --
|
||||||
|
bool(true)
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 6 --
|
||||||
|
bool(true)
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 7 --
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
-- Iteration 8 --
|
||||||
|
bool(true)
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 9 --
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
-- Iteration 10 --
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
|
||||||
|
*** Testing is_writable() on miscelleneous filenames ***
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
|
||||||
|
Warning: is_writable() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d
|
||||||
|
NULL
|
||||||
|
|
||||||
|
Warning: is_writeable() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d
|
||||||
|
NULL
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
|
||||||
|
Warning: is_writable() expects parameter 1 to be string (Unicode or binary), object given in %s on line %d
|
||||||
|
NULL
|
||||||
|
|
||||||
|
Warning: is_writeable() expects parameter 1 to be string (Unicode or binary), object given in %s on line %d
|
||||||
|
NULL
|
||||||
|
Done
|
||||||
|
--UEXPECTF--
|
||||||
|
*** Testing is_writable(): usage variations ***
|
||||||
|
-- Iteration 1 --
|
||||||
|
bool(true)
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 2 --
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
-- Iteration 3 --
|
||||||
|
bool(true)
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 4 --
|
||||||
|
bool(true)
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 5 --
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
-- Iteration 6 --
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
-- Iteration 7 --
|
||||||
|
bool(true)
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 8 --
|
||||||
|
bool(true)
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 9 --
|
||||||
|
bool(true)
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 10 --
|
||||||
|
bool(true)
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 11 --
|
||||||
|
bool(true)
|
||||||
|
bool(true)
|
||||||
|
|
||||||
|
*** Testing is_writable() on directory without write permission ***
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
|
||||||
|
*** Testing miscelleneous input for is_writable() function ***
|
||||||
|
-- Iteration 1 --
|
||||||
|
bool(true)
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 2 --
|
||||||
|
bool(true)
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 3 --
|
||||||
|
bool(true)
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 4 --
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
-- Iteration 5 --
|
||||||
|
bool(true)
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 6 --
|
||||||
|
bool(true)
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 7 --
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
-- Iteration 8 --
|
||||||
|
bool(true)
|
||||||
|
bool(true)
|
||||||
|
-- Iteration 9 --
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
-- Iteration 10 --
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
|
||||||
|
*** Testing is_writable() on miscelleneous filenames ***
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
|
||||||
|
Warning: is_writable() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d
|
||||||
|
NULL
|
||||||
|
|
||||||
|
Warning: is_writeable() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d
|
||||||
|
NULL
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
||||||
|
|
||||||
|
Warning: is_writable() expects parameter 1 to be string (Unicode or binary), object given in %s on line %d
|
||||||
|
NULL
|
||||||
|
|
||||||
|
Warning: is_writeable() expects parameter 1 to be string (Unicode or binary), object given in %s on line %d
|
||||||
|
NULL
|
||||||
|
Done
|
Loading…
Add table
Add a link
Reference in a new issue