copy_variation7.phpt 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. --TEST--
  2. Test copy() function: usage variations - links
  3. --SKIPIF--
  4. <?php
  5. if(substr(PHP_OS, 0, 3) == "WIN")
  6. die("skip Invalid for Windows");
  7. ?>
  8. --FILE--
  9. <?php
  10. /* Prototype: bool copy ( string $source, string $dest );
  11. Description: Makes a copy of the file source to dest.
  12. Returns TRUE on success or FALSE on failure.
  13. */
  14. /* Test copy() function: Trying to create copy of links */
  15. $file_path = dirname(__FILE__);
  16. echo "*** Testing copy() with symlink and hardlink ***\n";
  17. $file = $file_path."/copy_variation7.tmp";
  18. $file_handle = fopen($file, "w");
  19. fwrite( $file_handle, str_repeat(b"Hello World, this is 2007 year ....\n", 100) );
  20. fclose($file_handle);
  21. $symlink = $file_path."/copy_variation7_symlink.tmp";
  22. $hardlink = $file_path."/copy_variation7_hardlink.tmp";
  23. symlink($file, $symlink); //creating symlink
  24. link($file, $hardlink); //creating hardlink
  25. echo "Size of source files => \n";
  26. var_dump( filesize($file_path."/copy_variation7_symlink.tmp") ); //size of the symlink itself
  27. clearstatcache();
  28. var_dump( filesize($file_path."/copy_variation7_hardlink.tmp") ); //size of the file
  29. clearstatcache();
  30. echo "-- Now applying copy() on source link to create copies --\n";
  31. echo "-- With symlink --\n";
  32. var_dump( copy($symlink, $file_path."/copy_copy_variation7_symlink.tmp") );
  33. var_dump( file_exists($file_path."/copy_copy_variation7_symlink.tmp") );
  34. var_dump( is_link($file_path."/copy_copy_variation7_symlink.tmp") );
  35. var_dump( is_file($file_path."/copy_copy_variation7_symlink.tmp") );
  36. var_dump( filesize($file_path."/copy_copy_variation7_symlink.tmp") );
  37. clearstatcache();
  38. echo "-- With hardlink --\n";
  39. var_dump( copy($hardlink, $file_path."/copy_copy_variation7_hardlink.tmp") );
  40. var_dump( file_exists($file_path."/copy_copy_variation7_hardlink.tmp") );
  41. var_dump( is_link($file_path."/copy_copy_variation7_hardlink.tmp") );
  42. var_dump( is_file($file_path."/copy_copy_variation7_hardlink.tmp") );
  43. var_dump( filesize($file_path."/copy_copy_variation7_hardlink.tmp") );
  44. clearstatcache();
  45. echo "*** Done ***\n";
  46. ?>
  47. --CLEAN--
  48. <?php
  49. $file_path = dirname(__FILE__);
  50. unlink($file_path."/copy_copy_variation7_symlink.tmp");
  51. unlink($file_path."/copy_copy_variation7_hardlink.tmp");
  52. unlink($file_path."/copy_variation7_symlink.tmp");
  53. unlink($file_path."/copy_variation7_hardlink.tmp");
  54. unlink($file_path."/copy_variation7.tmp");
  55. ?>
  56. --EXPECTF--
  57. *** Testing copy() with symlink and hardlink ***
  58. Size of source files =>
  59. int(%d)
  60. int(3600)
  61. -- Now applying copy() on source link to create copies --
  62. -- With symlink --
  63. bool(true)
  64. bool(true)
  65. bool(false)
  66. bool(true)
  67. int(3600)
  68. -- With hardlink --
  69. bool(true)
  70. bool(true)
  71. bool(false)
  72. bool(true)
  73. int(3600)
  74. *** Done ***