1--TEST--
2Test file() function : variation - various absolute and relative paths
3--CREDITS--
4Dave Kelsey <d_kelsey@uk.ibm.com>
5--SKIPIF--
6<?php
7if(substr(PHP_OS, 0, 3) != "WIN")
8  die("skip Only run on Windows");
9?>
10--FILE--
11<?php
12echo "*** Testing file() : variation ***\n";
13$mainDir = "fileVar8.dir";
14$subDir = "fileVar8Sub";
15$absMainDir = __DIR__."\\".$mainDir;
16mkdir($absMainDir);
17$absSubDir = $absMainDir."\\".$subDir;
18mkdir($absSubDir);
19
20$old_dir_path = getcwd();
21chdir(__DIR__);
22$unixifiedDir = '/'.substr(str_replace('\\','/',$absSubDir),3);
23
24$allDirs = array(
25  // absolute paths
26  "$absSubDir\\",
27  "$absSubDir\\..\\".$subDir,
28  "$absSubDir\\\\..\\.\\".$subDir,
29  "$absSubDir\\..\\..\\".$mainDir."\\.\\".$subDir,
30  "$absSubDir\\..\\\\\\".$subDir."\\\\..\\\\..\\".$subDir,
31  "$absSubDir\\BADDIR",
32
33  // relative paths
34  $mainDir."\\".$subDir,
35  $mainDir."\\\\".$subDir,
36   $mainDir."\\\\\\".$subDir,
37  ".\\".$mainDir."\\..\\".$mainDir."\\".$subDir,
38  "BADDIR",
39
40  // unixifed path
41  $unixifiedDir,
42);
43
44$filename = 'FileGetContentsVar7.tmp';
45$absFile = $absSubDir.'/'.$filename;
46$h = fopen($absFile,"w");
47fwrite($h, "contents read");
48fclose($h);
49
50for($i = 0; $i<count($allDirs); $i++) {
51  $j = $i+1;
52  $dir = $allDirs[$i];
53  echo "\n-- Iteration $j --\n";
54  var_dump(file($dir."\\".$filename));
55}
56
57unlink($absFile);
58chdir($old_dir_path);
59rmdir($absSubDir);
60rmdir($absMainDir);
61
62echo "\n*** Done ***\n";
63?>
64--EXPECTF--
65*** Testing file() : variation ***
66
67-- Iteration 1 --
68array(1) {
69  [0]=>
70  string(13) "contents read"
71}
72
73-- Iteration 2 --
74array(1) {
75  [0]=>
76  string(13) "contents read"
77}
78
79-- Iteration 3 --
80array(1) {
81  [0]=>
82  string(13) "contents read"
83}
84
85-- Iteration 4 --
86array(1) {
87  [0]=>
88  string(13) "contents read"
89}
90
91-- Iteration 5 --
92
93Warning: file(%sfileVar8.dir\fileVar8Sub\..\\\fileVar8Sub\\..\\..\fileVar8Sub\FileGetContentsVar7.tmp): Failed to open stream: No such file or directory in %s on line %d
94bool(false)
95
96-- Iteration 6 --
97
98Warning: file(%sfileVar8.dir\fileVar8Sub\BADDIR\FileGetContentsVar7.tmp): Failed to open stream: No such file or directory in %s on line %d
99bool(false)
100
101-- Iteration 7 --
102array(1) {
103  [0]=>
104  string(13) "contents read"
105}
106
107-- Iteration 8 --
108array(1) {
109  [0]=>
110  string(13) "contents read"
111}
112
113-- Iteration 9 --
114array(1) {
115  [0]=>
116  string(13) "contents read"
117}
118
119-- Iteration 10 --
120array(1) {
121  [0]=>
122  string(13) "contents read"
123}
124
125-- Iteration 11 --
126
127Warning: file(BADDIR\FileGetContentsVar7.tmp): Failed to open stream: No such file or directory in %s on line %d
128bool(false)
129
130-- Iteration 12 --
131array(1) {
132  [0]=>
133  string(13) "contents read"
134}
135
136*** Done ***
137