1--TEST-- 2Test fopen() function : variation: file uri, no use include path 3--CREDITS-- 4Dave Kelsey <d_kelsey@uk.ibm.com> 5--SKIPIF-- 6<?php 7if(substr(PHP_OS, 0, 3) != "WIN") 8 die("skip Run only on Windows"); 9?> 10--FILE-- 11<?php 12/* Prototype : resource fopen(string filename, string mode [, bool use_include_path [, resource context]]) 13 * Description: Open a file or a URL and return a file pointer 14 * Source code: ext/standard/file.c 15 * Alias to functions: 16 */ 17 18echo "*** Testing fopen() : variation ***\n"; 19 20// fopen with interesting windows paths. 21$testDir = 'fopen14.tmpDir'; 22$absTestDir = getcwd().'/'.$testDir; 23$file = "fopen_variation14.tmp"; 24$unixifiedDir = '/'.substr(str_replace('\\','/',$absTestDir),3); 25$absFile = $absTestDir.'/'.$file; 26 27mkdir($testDir); 28 29$files = array("file://$testDir\\$file", 30 "file://$testDir/$file", 31 "file://./$testDir/$file", 32 "file://.\\$testDir\\$file", 33 "file://$absTestDir/$file", 34 "file://$absTestDir\\$file", 35 "file://$unixifiedDir/$file" 36); 37 38runtest($files); 39 40chdir($testDir); 41$files = array("file://../$testDir/$file", 42 "file://..\\$testDir\\$file", 43 "file://$absTestDir/$file", 44 "file://$absTestDir\\$file", 45 "file://$unixifiedDir/$file" 46); 47runtest($files); 48chdir(".."); 49rmdir($testDir); 50 51function runtest($fileURIs) { 52 global $absFile; 53 $iteration = 0; 54 foreach($fileURIs as $fileURI) { 55 echo "--- READ: $fileURI ---\n"; 56 57 $readData = "read:$iteration"; 58 $writeData = "write:$iteration"; 59 60 // create the file and test read 61 $h = fopen($absFile, 'w'); 62 fwrite($h, $readData); 63 fclose($h); 64 65 $h = fopen($fileURI, 'r'); 66 if ($h !== false) { 67 if (fread($h, 4096) != $readData) { 68 echo "contents not correct\n"; 69 } 70 else { 71 echo "test passed\n"; 72 } 73 fclose($h); 74 } 75 unlink($absFile); 76 77 echo "--- WRITE: $fileURI ---\n"; 78 // create the file to test write 79 $h = fopen($fileURI, 'w'); 80 if ($h !== false) { 81 fwrite($h, $writeData); 82 fclose($h); 83 84 $h = fopen($absFile, 'r'); 85 if ($h !== false) { 86 if (fread($h, 4096) != $writeData) { 87 echo "contents not correct\n"; 88 } 89 else { 90 echo "test passed\n"; 91 } 92 fclose($h); 93 } 94 unlink($absFile); 95 } 96 } 97} 98 99 100?> 101===DONE=== 102--EXPECTF-- 103*** Testing fopen() : variation *** 104--- READ: file://fopen14.tmpDir\fopen_variation14.tmp --- 105 106Warning: fopen(): remote host file access not supported, file://fopen14.tmpDir\fopen_variation14.tmp in %s on line %d 107 108Warning: fopen(file://fopen14.tmpDir\fopen_variation14.tmp): failed to open stream: no suitable wrapper could be found in %s on line %d 109--- WRITE: file://fopen14.tmpDir\fopen_variation14.tmp --- 110 111Warning: fopen(): remote host file access not supported, file://fopen14.tmpDir\fopen_variation14.tmp in %s on line %d 112 113Warning: fopen(file://fopen14.tmpDir\fopen_variation14.tmp): failed to open stream: no suitable wrapper could be found in %s on line %d 114--- READ: file://fopen14.tmpDir/fopen_variation14.tmp --- 115 116Warning: fopen(): remote host file access not supported, file://fopen14.tmpDir/fopen_variation14.tmp in %s on line %d 117 118Warning: fopen(file://fopen14.tmpDir/fopen_variation14.tmp): failed to open stream: no suitable wrapper could be found in %s on line %d 119--- WRITE: file://fopen14.tmpDir/fopen_variation14.tmp --- 120 121Warning: fopen(): remote host file access not supported, file://fopen14.tmpDir/fopen_variation14.tmp in %s on line %d 122 123Warning: fopen(file://fopen14.tmpDir/fopen_variation14.tmp): failed to open stream: no suitable wrapper could be found in %s on line %d 124--- READ: file://./fopen14.tmpDir/fopen_variation14.tmp --- 125 126Warning: fopen(): remote host file access not supported, file://./fopen14.tmpDir/fopen_variation14.tmp in %s on line %d 127 128Warning: fopen(file://./fopen14.tmpDir/fopen_variation14.tmp): failed to open stream: no suitable wrapper could be found in %s on line %d 129--- WRITE: file://./fopen14.tmpDir/fopen_variation14.tmp --- 130 131Warning: fopen(): remote host file access not supported, file://./fopen14.tmpDir/fopen_variation14.tmp in %s on line %d 132 133Warning: fopen(file://./fopen14.tmpDir/fopen_variation14.tmp): failed to open stream: no suitable wrapper could be found in %s on line %d 134--- READ: file://.\fopen14.tmpDir\fopen_variation14.tmp --- 135 136Warning: fopen(): remote host file access not supported, file://.\fopen14.tmpDir\fopen_variation14.tmp in %s on line %d 137 138Warning: fopen(file://.\fopen14.tmpDir\fopen_variation14.tmp): failed to open stream: no suitable wrapper could be found in %s on line %d 139--- WRITE: file://.\fopen14.tmpDir\fopen_variation14.tmp --- 140 141Warning: fopen(): remote host file access not supported, file://.\fopen14.tmpDir\fopen_variation14.tmp in %s on line %d 142 143Warning: fopen(file://.\fopen14.tmpDir\fopen_variation14.tmp): failed to open stream: no suitable wrapper could be found in %s on line %d 144--- READ: file://%s/fopen14.tmpDir/fopen_variation14.tmp --- 145test passed 146--- WRITE: file://%s/fopen14.tmpDir/fopen_variation14.tmp --- 147test passed 148--- READ: file://%s/fopen14.tmpDir\fopen_variation14.tmp --- 149test passed 150--- WRITE: file://%s/fopen14.tmpDir\fopen_variation14.tmp --- 151test passed 152--- READ: file:///%s/fopen14.tmpDir/fopen_variation14.tmp --- 153test passed 154--- WRITE: file:///%s/fopen14.tmpDir/fopen_variation14.tmp --- 155test passed 156--- READ: file://../fopen14.tmpDir/fopen_variation14.tmp --- 157 158Warning: fopen(): remote host file access not supported, file://../fopen14.tmpDir/fopen_variation14.tmp in %s on line %d 159 160Warning: fopen(file://../fopen14.tmpDir/fopen_variation14.tmp): failed to open stream: no suitable wrapper could be found in %s on line %d 161--- WRITE: file://../fopen14.tmpDir/fopen_variation14.tmp --- 162 163Warning: fopen(): remote host file access not supported, file://../fopen14.tmpDir/fopen_variation14.tmp in %s on line %d 164 165Warning: fopen(file://../fopen14.tmpDir/fopen_variation14.tmp): failed to open stream: no suitable wrapper could be found in %s on line %d 166--- READ: file://..\fopen14.tmpDir\fopen_variation14.tmp --- 167 168Warning: fopen(): remote host file access not supported, file://..\fopen14.tmpDir\fopen_variation14.tmp in %s on line %d 169 170Warning: fopen(file://..\fopen14.tmpDir\fopen_variation14.tmp): failed to open stream: no suitable wrapper could be found in %s on line %d 171--- WRITE: file://..\fopen14.tmpDir\fopen_variation14.tmp --- 172 173Warning: fopen(): remote host file access not supported, file://..\fopen14.tmpDir\fopen_variation14.tmp in %s on line %d 174 175Warning: fopen(file://..\fopen14.tmpDir\fopen_variation14.tmp): failed to open stream: no suitable wrapper could be found in %s on line %d 176--- READ: file://%s/fopen14.tmpDir/fopen_variation14.tmp --- 177test passed 178--- WRITE: file://%s/fopen14.tmpDir/fopen_variation14.tmp --- 179test passed 180--- READ: file://%s/fopen14.tmpDir\fopen_variation14.tmp --- 181test passed 182--- WRITE: file://%s/fopen14.tmpDir\fopen_variation14.tmp --- 183test passed 184--- READ: file:///%s/fopen14.tmpDir/fopen_variation14.tmp --- 185test passed 186--- WRITE: file:///%s/fopen14.tmpDir/fopen_variation14.tmp --- 187test passed 188===DONE=== 189