1--TEST-- 2Test copy() function: usage variations - destination file names(case sensitive) 3--SKIPIF-- 4<?php 5if(substr(PHP_OS, 0, 3) != "WIN") 6 die("skip only run on 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 15/* Test copy() function: Checking case sensitivity in creation of destination file names 16 and the existence and size of destination files 17*/ 18 19echo "*** Test copy() function: checking case sensitivity in creation of destination file names ***\n"; 20$file_path = dirname(__FILE__); 21$src_file_name = $file_path."/copy_variation5.tmp"; 22$file_handle = fopen($src_file_name, "w"); 23fwrite( $file_handle, str_repeat(b"Hello2World...\n", 100) ); 24fclose($file_handle); 25 26/* array of destination file names */ 27$dest_files = array( 28 29 /* Checking case sensitiveness */ 30 "COPY.tmp", 31 "COPY.TMP", 32 "CopY.TMP" 33); 34 35echo "Size of the source file before copy operation => "; 36var_dump( filesize($src_file_name) ); 37clearstatcache(); 38 39echo "\n-- Now applying copy() on source file to create copies --"; 40$count = 1; 41foreach($dest_files as $dest_file) { 42 43 echo "\n-- Iteration $count --\n"; 44 $dest_file_name = $file_path."/$dest_file"; 45 46 echo "Copy operation => "; 47 var_dump( copy($src_file_name, $dest_file_name) ); 48 49 echo "Existence of destination file => "; 50 var_dump( file_exists($dest_file_name) ); 51 52 echo "Destination file name => "; 53 print($dest_file_name); 54 echo "\n"; 55 56 echo "Size of source file => "; 57 var_dump( filesize($src_file_name) ); 58 clearstatcache(); 59 60 echo "Size of destination file => "; 61 var_dump( filesize($dest_file_name) ); 62 clearstatcache(); 63 64 $count++; 65} 66 67 68$count = 1; 69foreach($dest_files as $dest_file) { 70 unlink($file_path."/".$dest_file); 71 $count++; 72} 73 74echo "*** Done ***\n"; 75?> 76 77--CLEAN-- 78<?php 79unlink(dirname(__FILE__)."/copy_variation5.tmp"); 80?> 81 82--EXPECTF-- 83*** Test copy() function: checking case sensitivity in creation of destination file names *** 84Size of the source file before copy operation => int(1500) 85 86-- Now applying copy() on source file to create copies -- 87-- Iteration 1 -- 88Copy operation => bool(true) 89Existence of destination file => bool(true) 90Destination file name => %s/COPY.tmp 91Size of source file => int(1500) 92Size of destination file => int(1500) 93 94-- Iteration 2 -- 95Copy operation => bool(true) 96Existence of destination file => bool(true) 97Destination file name => %s/COPY.TMP 98Size of source file => int(1500) 99Size of destination file => int(1500) 100 101-- Iteration 3 -- 102Copy operation => bool(true) 103Existence of destination file => bool(true) 104Destination file name => %s/CopY.TMP 105Size of source file => int(1500) 106Size of destination file => int(1500) 107 108Warning: unlink(%s/COPY.TMP): No such file or directory in %s on line %d 109 110Warning: unlink(%s/CopY.TMP): No such file or directory in %s on line %d 111*** Done *** 112