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
87
88
89
|
--TEST--
Test readfile() function : variation - various invalid paths
--CREDITS--
Dave Kelsey <d_kelsey@uk.ibm.com>
--SKIPIF--
<?php
if(substr(PHP_OS, 0, 3) != "WIN")
die("skip run only on Windows");
?>
--FILE--
<?php
/* Prototype : int readfile(string filename [, bool use_include_path[, resource context]])
* Description: Output a file or a URL
* Source code: ext/standard/file.c
* Alias to functions:
*/
echo "*** Testing readfile() : variation ***\n";
/* An array of files */
$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 {
readfile($value);
} catch (TypeError $e) {
echo $e->getMessage(), "\n";
}
};
?>
===Done===
--EXPECTF--
*** Testing readfile() : variation ***
-- Filename: -1 --
Warning: readfile(-1): failed to open stream: No such file or directory in %s on line %d
-- Filename: TRUE --
Warning: readfile(1): failed to open stream: No such file or directory in %s on line %d
-- Filename: FALSE --
Warning: readfile(): Filename cannot be empty in %s on line %d
-- Filename: NULL --
Warning: readfile(): Filename cannot be empty in %s on line %d
-- Filename: "" --
Warning: readfile(): Filename cannot be empty in %s on line %d
-- Filename: " " --
Warning: readfile( ): failed to open stream: Permission denied in %s on line %d
-- Filename: \0 --
readfile() expects parameter 1 to be a valid path, string given
-- Filename: array() --
readfile() expects parameter 1 to be a valid path, array given
-- Filename: /no/such/file/dir --
Warning: readfile(/no/such/file/dir): failed to open stream: No such file or directory in %s on line %d
-- Filename: php/php --
Warning: readfile(php/php): failed to open stream: No such file or directory in %s on line %d
===Done===
|