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
83
84
85
86
|
--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,
"NULL" => NULL,
"\"\"" => "",
"\" \"" => " ",
"\\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 cannot be empty
-- Filename: NULL --
ValueError: Path cannot be empty
-- Filename: "" --
ValueError: Path cannot 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)
|