1--TEST-- 2Test copy() function: usage variations - destination file names(numerics/strings) 3--FILE-- 4<?php 5/* Prototype: bool copy ( string $source, string $dest ); 6 Description: Makes a copy of the file source to dest. 7 Returns TRUE on success or FALSE on failure. 8*/ 9 10/* Test copy() function: In creation of destination file names containing numerics/strings 11 and checking the existence and size of destination files 12*/ 13 14echo "*** Test copy() function: destination file names containing numerics/strings ***\n"; 15$file_path = __DIR__; 16$src_file_name = $file_path."/copy_variation1.tmp"; 17$file_handle = fopen($src_file_name, "w"); 18fwrite( $file_handle, str_repeat("Hello2World...\n", 100) ); 19fclose($file_handle); 20 21/* array of destination file names */ 22$dest_files = array( 23 24 /* File names containing numerics, strings */ 25 "copy.tmp", //regular file name 26 "copy_copy_variation1.tmp", 27 ".tmp", //file name only with extension 28 "123.tmp", //file name starts with numeric and with regular extension 29 "copy_variation1.123", //file name with numeric extension 30 "123", //numeric 31 "123copy_variation1.tmp", //file name containing numeric & string 32 "copy_variation.tmp123", //file name containing string & numeric 33 chr(99).chr(111).chr(112).chr(121).chr(49).".tmp" //file name containing ASCII values 34); 35 36echo "Size of the source file before copy operation => "; 37var_dump( filesize("$src_file_name") ); 38clearstatcache(); 39 40echo "\n-- Now applying copy() on source file to create copies --"; 41$count = 1; 42foreach($dest_files as $dest_file) { 43 echo "\n-- Iteration $count --\n"; 44 45 $dest_file_name = "$file_path/$dest_file"; 46 47 echo "Copy operation => "; 48 var_dump( copy($src_file_name, $dest_file_name) ); 49 50 echo "Existence of destination file => "; 51 var_dump( file_exists($dest_file_name) ); 52 53 echo "Destination file name => "; 54 print($dest_file_name); 55 echo "\n"; 56 57 echo "Size of source file => "; 58 var_dump( filesize($src_file_name) ); 59 clearstatcache(); 60 61 echo "Size of destination file => "; 62 var_dump( filesize($dest_file_name) ); 63 clearstatcache(); 64 65 unlink($dest_file_name); 66 67 $count++; 68} 69 70echo "*** Done ***\n"; 71?> 72--CLEAN-- 73<?php 74unlink(__DIR__."/copy_variation1.tmp"); 75?> 76--EXPECTF-- 77*** Test copy() function: destination file names containing numerics/strings *** 78Size of the source file before copy operation => int(1500) 79 80-- Now applying copy() on source file to create copies -- 81-- Iteration 1 -- 82Copy operation => bool(true) 83Existence of destination file => bool(true) 84Destination file name => %s/copy.tmp 85Size of source file => int(1500) 86Size of destination file => int(1500) 87 88-- Iteration 2 -- 89Copy operation => bool(true) 90Existence of destination file => bool(true) 91Destination file name => %s/copy_copy_variation1.tmp 92Size of source file => int(1500) 93Size of destination file => int(1500) 94 95-- Iteration 3 -- 96Copy operation => bool(true) 97Existence of destination file => bool(true) 98Destination file name => %s/.tmp 99Size of source file => int(1500) 100Size of destination file => int(1500) 101 102-- Iteration 4 -- 103Copy operation => bool(true) 104Existence of destination file => bool(true) 105Destination file name => %s/123.tmp 106Size of source file => int(1500) 107Size of destination file => int(1500) 108 109-- Iteration 5 -- 110Copy operation => bool(true) 111Existence of destination file => bool(true) 112Destination file name => %s/copy_variation1.123 113Size of source file => int(1500) 114Size of destination file => int(1500) 115 116-- Iteration 6 -- 117Copy operation => bool(true) 118Existence of destination file => bool(true) 119Destination file name => %s/123 120Size of source file => int(1500) 121Size of destination file => int(1500) 122 123-- Iteration 7 -- 124Copy operation => bool(true) 125Existence of destination file => bool(true) 126Destination file name => %s/123copy_variation1.tmp 127Size of source file => int(1500) 128Size of destination file => int(1500) 129 130-- Iteration 8 -- 131Copy operation => bool(true) 132Existence of destination file => bool(true) 133Destination file name => %s/copy_variation.tmp123 134Size of source file => int(1500) 135Size of destination file => int(1500) 136 137-- Iteration 9 -- 138Copy operation => bool(true) 139Existence of destination file => bool(true) 140Destination file name => %s/copy1.tmp 141Size of source file => int(1500) 142Size of destination file => int(1500) 143*** Done *** 144