????JFIF??x?x????'
Server IP : 79.136.114.73 / Your IP : 216.73.216.227 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 : /home/b8009/php-5.6.22/ext/standard/tests/file/ |
Upload File : |
--TEST-- Test symlink(), linkinfo(), link() and is_link() functions : usage variations - access/update file through hard link --SKIPIF-- <?php if (substr(PHP_OS, 0, 3) == 'WIN') { die('skip no symlinks on Windows'); } ?> --FILE-- <?php /* Prototype: bool symlink ( string $target, string $link ); Description: creates a symbolic link to the existing target with the specified name link Prototype: bool is_link ( string $filename ); Description: Tells whether the given file is a symbolic link. Prototype: bool link ( string $target, string $link ); Description: Create a hard link Prototype: int linkinfo ( string $path ); Description: Gets information about a link */ /* Variation 4 : Create file and a hard link to the file Access data of the file through the hard link Update the file through hard link Check size of file and hard link */ $file_path = dirname(__FILE__); echo "*** Accessing and updating data of file through hard link ***\n"; // Creating file and inserting data into it $filename = "$file_path/symlink__link_linkinfo_is_link_variation4.tmp"; // create temp file $file = fopen($filename, "w"); // fill data into file fwrite($file, str_repeat("text", 20) ); fclose($file); echo "\n-- Access data of the file through the hard link --\n"; // create hard link to file $linkname = "$file_path/symlink_link_linkinfo_is_link_link_variation4.tmp"; var_dump( link($filename, $linkname) ); $data_from_link = file_get_contents($linkname); // data read from $filename var_dump( $data_from_link ); echo "\n-- Check size of hard link and file --\n"; if( filesize($filename) == filesize($linkname) ) echo "\nSize of file and hard link are same\n"; else echo "\nWarning: Size of file and hard link differ\n"; echo "\n-- Updating file with data through hard link --\n"; // append link with data $fp = fopen($linkname, "a"); // open in append mode fwrite($fp, "Hello World"); fclose($fp); // now check temp file for data; it should append "Hello World" $data_from_file = file_get_contents($filename); var_dump( $data_from_file ); echo "\n-- Check size of hard link and file --\n"; if( filesize($filename) == filesize($linkname) ) echo "\nSize of file and hard link are same\n"; else echo "\nWarning: Size of file and hard link differ\n"; echo "\n-- Updating file with data and check data through hard link --\n"; // write to temp file $file = fopen($filename, "w"); fwrite($file, "Hello World"); fclose($file); // now check link for data; it should echo "Hello World" $data_from_link = file_get_contents($linkname); var_dump( $data_from_link ); echo "\n-- Check size of hard link and file --\n"; var_dump( filesize($filename) ); var_dump( filesize($linkname) ); if( filesize($filename) == filesize($linkname) ) echo "\nSize of file and hard link are same\n"; else echo "\nWarning: Size of file and hard link differ\n"; // delete the link unlink($linkname); // delete the temporary file unlink($filename); echo "Done\n"; ?> --EXPECTF-- *** Accessing and updating data of file through hard link *** -- Access data of the file through the hard link -- bool(true) string(80) "texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext" -- Check size of hard link and file -- Size of file and hard link are same -- Updating file with data through hard link -- string(91) "texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttextHello World" -- Check size of hard link and file -- Size of file and hard link are same -- Updating file with data and check data through hard link -- string(11) "Hello World" -- Check size of hard link and file -- int(11) int(11) Size of file and hard link are same Done