tempnam_variation2-win32.phpt 4.0 KB

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