tempnam_variation8-win32.phpt 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. --TEST--
  2. Test tempnam() function: usage variations - 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 valid for Windows");
  9. ?>
  10. --FILE--
  11. <?php
  12. /* Creating unique files in various dirs by passing relative paths to $dir arg */
  13. echo "*** Testing tempnam() with absolute and relative paths ***\n";
  14. $dir_name = __DIR__."\\tempnam_variation8";
  15. mkdir($dir_name);
  16. $dir_path = $dir_name."/tempnam_variation8_sub";
  17. mkdir($dir_path);
  18. $old_dir_path = getcwd();
  19. chdir(__DIR__);
  20. $dir_paths = array(
  21. // absolute paths
  22. "$dir_path\\",
  23. "$dir_path\\..",
  24. "$dir_path\\\\..\\",
  25. "$dir_path\\..\\..\\.\\tempnam_variation8",
  26. "$dir_path\\..\\\\\\tempnam_variation8_sub\\\\..\\\\..\\tempnam_variation8",
  27. "$dir_path\\BADDIR",
  28. // relative paths
  29. "tempname_variation8\\",
  30. "tempnam_variation8\\tempnam_variation8_sub",
  31. "tempnam_variation8\\\\tempnam_variation8_sub",
  32. ".\\tempnam_variation8\\..\\tempnam_variation8\\tempnam_variation8_sub",
  33. "BADDIR",
  34. );
  35. for($i = 0; $i<count($dir_paths); $i++) {
  36. $j = $i+1;
  37. echo "\n-- Iteration $j --\n";
  38. $file_name = tempnam($dir_paths[$i], "tempnam_variation8.tmp");
  39. if( file_exists($file_name) ){
  40. echo "File name is => ";
  41. print(realpath($file_name));
  42. echo "\n";
  43. echo "File permissions are => ";
  44. printf("%o", fileperms($file_name) );
  45. echo "\n";
  46. echo "File created in => ";
  47. $file_dir = dirname($file_name);
  48. $dir_req = $dir_paths[$i];
  49. if (realpath($file_dir) == realpath(sys_get_temp_dir()) || realpath($file_dir."\\") == realpath(sys_get_temp_dir())) {
  50. echo "temp dir\n";
  51. }
  52. else if (realpath($file_dir) == realpath($dir_req) || realpath($file_dir."\\") == realpath($dir_req)) {
  53. echo "directory specified\n";
  54. }
  55. else {
  56. echo "unknown location\n";
  57. }
  58. }
  59. else {
  60. echo "-- File is not created --";
  61. }
  62. unlink($file_name);
  63. }
  64. chdir($old_dir_path);
  65. rmdir($dir_path);
  66. rmdir($dir_name);
  67. echo "\n*** Done ***\n";
  68. ?>
  69. --EXPECTF--
  70. *** Testing tempnam() with absolute and relative paths ***
  71. -- Iteration 1 --
  72. File name is => %s\tempnam_variation8\tempnam_variation8_sub\t%s
  73. File permissions are => 100666
  74. File created in => directory specified
  75. -- Iteration 2 --
  76. File name is => %s\tempnam_variation8\t%s
  77. File permissions are => 100666
  78. File created in => directory specified
  79. -- Iteration 3 --
  80. File name is => %s\tempnam_variation8\t%s
  81. File permissions are => 100666
  82. File created in => directory specified
  83. -- Iteration 4 --
  84. File name is => %s\tempnam_variation8\t%s
  85. File permissions are => 100666
  86. File created in => directory specified
  87. -- Iteration 5 --
  88. File name is => %s\tempnam_variation8\t%s
  89. File permissions are => 100666
  90. File created in => directory specified
  91. -- Iteration 6 --
  92. Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation8-win32.php on line %d
  93. File name is => %s\t%s
  94. File permissions are => 100666
  95. File created in => temp dir
  96. -- Iteration 7 --
  97. Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation8-win32.php on line %d
  98. File name is => %s\t%s
  99. File permissions are => 100666
  100. File created in => temp dir
  101. -- Iteration 8 --
  102. File name is => %s\tempnam_variation8\tempnam_variation8_sub\t%s
  103. File permissions are => 100666
  104. File created in => directory specified
  105. -- Iteration 9 --
  106. File name is => %s\tempnam_variation8\tempnam_variation8_sub\t%s
  107. File permissions are => 100666
  108. File created in => directory specified
  109. -- Iteration 10 --
  110. File name is => %s\tempnam_variation8\tempnam_variation8_sub\t%s
  111. File permissions are => 100666
  112. File created in => directory specified
  113. -- Iteration 11 --
  114. Notice: tempnam(): file created in the system's temporary directory in %stempnam_variation8-win32.php on line %d
  115. File name is => %s\t%s
  116. File permissions are => 100666
  117. File created in => temp dir
  118. *** Done ***