1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
|
--TEST--
Test file_get_contents() function : variation - obscure filenames
--CREDITS--
Dave Kelsey <d_kelsey@uk.ibm.com>
--SKIPIF--
<?php
if (substr(PHP_OS, 0, 3) != 'WIN') {
die("skip Valid only on Windows");
}
?>
--CONFLICTS--
obscure_filename
--FILE--
<?php
echo "*** Testing file_get_contents() : variation ***\n";
/* An array of filenames */
$names_arr = array(
/* Invalid args */
"-1" => -1,
"TRUE" => TRUE,
"FALSE" => FALSE,
"\"\"" => "",
"\" \"" => " ",
"\\0" => "\0",
"array()" => array(),
/* prefix with path separator of a non existing directory*/
"/no/such/file/dir" => "/no/such/file/dir",
"php/php"=> "php/php"
);
foreach($names_arr as $key =>$value) {
echo "\n-- Filename: $key --\n";
try {
var_dump(file_get_contents($value));
} catch (\TypeError|\ValueError $e) {
echo get_class($e) . ': ' . $e->getMessage(), "\n";
}
}
?>
--EXPECTF--
*** Testing file_get_contents() : variation ***
-- Filename: -1 --
Warning: file_get_contents(-1): Failed to open stream: No such file or directory in %s on line %d
bool(false)
-- Filename: TRUE --
Warning: file_get_contents(1): Failed to open stream: No such file or directory in %s on line %d
bool(false)
-- Filename: FALSE --
ValueError: Path must not be empty
-- Filename: "" --
ValueError: Path must not be empty
-- Filename: " " --
Warning: file_get_contents( ): Failed to open stream: Permission denied in %s on line %d
bool(false)
-- Filename: \0 --
ValueError: file_get_contents(): Argument #1 ($filename) must not contain any null bytes
-- Filename: array() --
TypeError: file_get_contents(): Argument #1 ($filename) must be of type string, array given
-- Filename: /no/such/file/dir --
Warning: file_get_contents(/no/such/file/dir): Failed to open stream: No such file or directory in %s on line %d
bool(false)
-- Filename: php/php --
Warning: file_get_contents(php/php): Failed to open stream: No such file or directory in %s on line %d
bool(false)
|