tempnam_variation8-win32.phpt 3.7 KB

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