tempnam_variation1.phpt 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. --TEST--
  2. Test tempnam() function: usage variations - creating files
  3. --SKIPIF--
  4. <?php
  5. if(substr(PHP_OS, 0, 3) == "WIN")
  6. die("skip Do not run on Windows");
  7. ?>
  8. --FILE--
  9. <?php
  10. /* Creating number of unique files by passing a file name as prefix */
  11. $file_path = __DIR__."/tempnamVar1";
  12. mkdir($file_path);
  13. echo "*** Testing tempnam() in creation of unique files ***\n";
  14. for($i=1; $i<=10; $i++) {
  15. echo "-- Iteration $i --\n";
  16. $files[$i] = tempnam("$file_path", "tempnam_variation1.tmp");
  17. if( file_exists($files[$i]) ) {
  18. echo "File name is => ";
  19. print($files[$i]);
  20. echo "\n";
  21. echo "File permissions are => ";
  22. printf("%o", fileperms($files[$i]) );
  23. echo "\n";
  24. clearstatcache();
  25. echo "File inode is => ";
  26. print_r( fileinode($files[$i]) ); //checking inodes
  27. echo "\n";
  28. echo "File created in => ";
  29. $file_dir = dirname($files[$i]);
  30. if ($file_dir == sys_get_temp_dir()) {
  31. echo "temp dir\n";
  32. }
  33. else if ($file_dir == $file_path) {
  34. echo "directory specified\n";
  35. }
  36. else {
  37. echo "unknown location\n";
  38. }
  39. clearstatcache();
  40. }
  41. else {
  42. print("- File is not created -");
  43. }
  44. }
  45. for($i=1; $i<=10; $i++) {
  46. unlink($files[$i]);
  47. }
  48. rmdir($file_path);
  49. echo "*** Done ***\n";
  50. ?>
  51. --EXPECTF--
  52. *** Testing tempnam() in creation of unique files ***
  53. -- Iteration 1 --
  54. File name is => %s%etempnam_variation1.tmp%s
  55. File permissions are => 100600
  56. File inode is => %i
  57. File created in => directory specified
  58. -- Iteration 2 --
  59. File name is => %s%etempnam_variation1.tmp%s
  60. File permissions are => 100600
  61. File inode is => %i
  62. File created in => directory specified
  63. -- Iteration 3 --
  64. File name is => %s%etempnam_variation1.tmp%s
  65. File permissions are => 100600
  66. File inode is => %i
  67. File created in => directory specified
  68. -- Iteration 4 --
  69. File name is => %s%etempnam_variation1.tmp%s
  70. File permissions are => 100600
  71. File inode is => %i
  72. File created in => directory specified
  73. -- Iteration 5 --
  74. File name is => %s%etempnam_variation1.tmp%s
  75. File permissions are => 100600
  76. File inode is => %i
  77. File created in => directory specified
  78. -- Iteration 6 --
  79. File name is => %s%etempnam_variation1.tmp%s
  80. File permissions are => 100600
  81. File inode is => %i
  82. File created in => directory specified
  83. -- Iteration 7 --
  84. File name is => %s%etempnam_variation1.tmp%s
  85. File permissions are => 100600
  86. File inode is => %i
  87. File created in => directory specified
  88. -- Iteration 8 --
  89. File name is => %s%etempnam_variation1.tmp%s
  90. File permissions are => 100600
  91. File inode is => %i
  92. File created in => directory specified
  93. -- Iteration 9 --
  94. File name is => %s%etempnam_variation1.tmp%s
  95. File permissions are => 100600
  96. File inode is => %i
  97. File created in => directory specified
  98. -- Iteration 10 --
  99. File name is => %s%etempnam_variation1.tmp%s
  100. File permissions are => 100600
  101. File inode is => %i
  102. File created in => directory specified
  103. *** Done ***