readfile_variation9.phpt 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. --TEST--
  2. Test readfile() function : variation - variable types of path
  3. --CREDITS--
  4. Dave Kelsey <d_kelsey@uk.ibm.com>
  5. --FILE--
  6. <?php
  7. /* Prototype : int readfile(string filename [, bool use_include_path[, resource context]])
  8. * Description: Output a file or a URL
  9. * Source code: ext/standard/file.c
  10. * Alias to functions:
  11. */
  12. echo "*** Testing readfile() : variation ***\n";
  13. $mainDir = "readfileVar8";
  14. $subDir = "readfileVar8Sub";
  15. $absMainDir = dirname(__FILE__)."/".$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(dirname(__FILE__));
  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. );
  42. for($i = 0; $i<count($allDirs); $i++) {
  43. $j = $i+1;
  44. $dir = $allDirs[$i];
  45. echo "\n-- Iteration $j --\n";
  46. $ok = readfile($dir.'/'.$theFile);
  47. if ($ok === 1) {
  48. echo "\n";
  49. }
  50. }
  51. unlink($absFile);
  52. chdir($old_dir_path);
  53. rmdir($absSubDir);
  54. rmdir($absMainDir);
  55. echo "\n*** Done ***\n";
  56. ?>
  57. --EXPECTF--
  58. *** Testing readfile() : variation ***
  59. -- Iteration 1 --
  60. The File Contents
  61. -- Iteration 2 --
  62. The File Contents
  63. -- Iteration 3 --
  64. The File Contents
  65. -- Iteration 4 --
  66. The File Contents
  67. -- Iteration 5 --
  68. Warning: readfile(%sreadfileVar8Sub/..///readfileVar8Sub//..//../readfileVar8Sub/fileToRead.tmp): failed to open stream: No such file or directory in %s on line %d
  69. -- Iteration 6 --
  70. Warning: readfile(%sreadfileVar8Sub/BADDIR/fileToRead.tmp): failed to open stream: No such file or directory in %s on line %d
  71. -- Iteration 7 --
  72. The File Contents
  73. -- Iteration 8 --
  74. The File Contents
  75. -- Iteration 9 --
  76. The File Contents
  77. -- Iteration 10 --
  78. The File Contents
  79. -- Iteration 11 --
  80. Warning: readfile(BADDIR/fileToRead.tmp): failed to open stream: No such file or directory in %s on line %d
  81. *** Done ***