file_variation8-win32.phpt 2.8 KB

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