readfile_variation8-win32-mb.phpt 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. --TEST--
  2. Test readfile() function : variation
  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 valid for Windows");
  9. ?>
  10. --FILE--
  11. <?php
  12. echo "*** Testing readfile() : variation ***\n";
  13. $mainDir = "readfileVar私はガラスを食べられます8";
  14. $subDir = "readfileVar私はガラスを食べられます8Sub";
  15. $absMainDir = __DIR__."\\".$mainDir;
  16. mkdir($absMainDir);
  17. $absSubDir = $absMainDir."\\".$subDir;
  18. mkdir($absSubDir);
  19. $theFile = "fileToRead.tmp";
  20. $absFile = $absSubDir.'/'.$theFile;
  21. // create the file
  22. $h = fopen($absFile,"w");
  23. fwrite($h, "The File Contents");
  24. fclose($h);
  25. $old_dir_path = getcwd();
  26. chdir(__DIR__);
  27. $unixifiedDir = '/'.substr(str_replace('\\','/',$absSubDir),3);
  28. $allDirs = array(
  29. // absolute paths
  30. "$absSubDir\\",
  31. "$absSubDir\\..\\".$subDir,
  32. "$absSubDir\\\\..\\.\\".$subDir,
  33. "$absSubDir\\..\\..\\".$mainDir."\\.\\".$subDir,
  34. "$absSubDir\\..\\\\\\".$subDir."\\\\..\\\\..\\".$subDir,
  35. "$absSubDir\\BADDIR",
  36. // relative paths
  37. $mainDir."\\".$subDir,
  38. $mainDir."\\\\".$subDir,
  39. $mainDir."\\\\\\".$subDir,
  40. ".\\".$mainDir."\\..\\".$mainDir."\\".$subDir,
  41. "BADDIR",
  42. // unixifed path
  43. $unixifiedDir,
  44. );
  45. for($i = 0; $i<count($allDirs); $i++) {
  46. $j = $i+1;
  47. $dir = $allDirs[$i];
  48. echo "\n-- $dir --\n";
  49. $ok = readfile($dir.'\\'.$theFile);
  50. if ($ok === 1) {
  51. echo "\n";
  52. }
  53. }
  54. unlink($absFile);
  55. chdir($old_dir_path);
  56. rmdir($absSubDir);
  57. rmdir($absMainDir);
  58. echo "\n*** Done ***\n";
  59. ?>
  60. --EXPECTF--
  61. *** Testing readfile() : variation ***
  62. -- %s\readfileVar私はガラスを食べられます8\readfileVar私はガラスを食べられます8Sub\ --
  63. The File Contents
  64. -- %s\readfileVar私はガラスを食べられます8\readfileVar私はガラスを食べられます8Sub\..\readfileVar私はガラスを食べられます8Sub --
  65. The File Contents
  66. -- %s\readfileVar私はガラスを食べられます8\readfileVar私はガラスを食べられます8Sub\\..\.\readfileVar私はガラスを食べられます8Sub --
  67. The File Contents
  68. -- %s\readfileVar私はガラスを食べられます8\readfileVar私はガラスを食べられます8Sub\..\..\readfileVar私はガラスを食べられます8\.\readfileVar私はガラスを食べられます8Sub --
  69. The File Contents
  70. -- %s\readfileVar私はガラスを食べられます8\readfileVar私はガラスを食べられます8Sub\..\\\readfileVar私はガラスを食べられます8Sub\\..\\..\readfileVar私はガラスを食べられます8Sub --
  71. Warning: readfile(%s\readfileVar私はガラスを食べられます8\readfileVar私はガラスを食べられます8Sub\..\\\readfileVar私はガラスを食べられます8Sub\\..\\..\readfileVar私はガラスを食べられます8Sub\fileToRead.tmp): Failed to open stream: No such file or directory in %s on line %d
  72. -- %s\readfileVar私はガラスを食べられます8\readfileVar私はガラスを食べられます8Sub\BADDIR --
  73. Warning: readfile(%s\readfileVar私はガラスを食べられます8\readfileVar私はガラスを食べられます8Sub\BADDIR\fileToRead.tmp): Failed to open stream: No such file or directory in %s on line %d
  74. -- readfileVar私はガラスを食べられます8\readfileVar私はガラスを食べられます8Sub --
  75. The File Contents
  76. -- readfileVar私はガラスを食べられます8\\readfileVar私はガラスを食べられます8Sub --
  77. The File Contents
  78. -- readfileVar私はガラスを食べられます8\\\readfileVar私はガラスを食べられます8Sub --
  79. The File Contents
  80. -- .\readfileVar私はガラスを食べられます8\..\readfileVar私はガラスを食べられます8\readfileVar私はガラスを食べられます8Sub --
  81. The File Contents
  82. -- BADDIR --
  83. Warning: readfile(BADDIR\fileToRead.tmp): Failed to open stream: No such file or directory in %s on line %d
  84. -- /%s/readfileVar私はガラスを食べられます8/readfileVar私はガラスを食べられます8Sub --
  85. The File Contents
  86. *** Done ***