Return to file_variation.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / file |
1.1 misho 1: --TEST-- 2: Test file() function : usage variations 3: --FILE-- 4: <?php 5: /* 6: * Prototype: array file ( string filename [,int use-include_path [,resource context]] ); 7: * Description: Reads entire file into an array 8: Returns the file in an array 9: */ 10: require(dirname(__FILE__) . '/file.inc'); 11: 12: $data_array = array( "Garbage data", "Gar\nba\nge d\nata", "Gar\n\nbage \n\n data" ); 13: echo "*** Using various flags values with different data in a file\n"; 14: $count=1; 15: $file_path = dirname(__FILE__); 16: foreach( $data_array as $data ) { 17: echo "--Iteration $count --\n"; 18: $fh = fopen($file_path."/file_variation.tmp", "w"); 19: fwrite($fh, (binary)$data); 20: var_dump( file($file_path."/file_variation.tmp", FILE_IGNORE_NEW_LINES) ); 21: var_dump( file($file_path."/file_variation.tmp", FILE_SKIP_EMPTY_LINES) ); 22: $count++; 23: fclose($fh); 24: } 25: 26: echo "*** Testing with variation in use_include_path argument ***\n"; 27: $file_path1 = dirname(__FILE__)."/file_variation"; 28: mkdir($file_path1); 29: ini_set( 'include_path',$file_path.'/file_variation' ); 30: 31: file_put_contents( $file_path1."/file1_variation.tmp", "aaaaaaaaaaaaaaabbbbbbbbbbb111111111222222222" ); 32: var_dump( file("file1_variation.tmp", FILE_USE_INCLUDE_PATH) ); 33: var_dump( file($file_path1."/file1_variation.tmp", 1) ); 34: 35: echo "*** Using file function to remove line containing a key string ***\n"; 36: $file_handle = fopen($file_path."/file2_variation.tmp", "w"); 37: $key = "SEARCH_KEY"; 38: fwrite( $file_handle, (binary)"The key string to be searched is SEARCH_KEY\nLine without key string\nThe key string to be searched is SEARCH_KEY" ); 39: $out_array = file($file_path."/file2_variation.tmp"); 40: 41: echo "File contents in array form Before replacement of the key\n"; 42: var_dump( $out_array ); 43: $file_handle2 = fopen($file_path."/file3_variation.tmp", "w"); 44: // Loop through file content array 45: foreach($out_array as $line) { 46: if( !strstr( $line, $key ) ) 47: fputs($file_handle2,$line); 48: } 49: echo "File contents in array form After replacement of the key\n"; 50: var_dump( file($file_path."/file3_variation.tmp" )); 51: fclose($file_handle); 52: fclose($file_handle2); 53: 54: echo "\n--- Done ---"; 55: ?> 56: 57: --CLEAN-- 58: <?php 59: $file_path = dirname(__FILE__); 60: unlink($file_path."/file_variation.tmp"); 61: unlink($file_path."/file_variation/file1_variation.tmp"); 62: unlink($file_path."/file2_variation.tmp"); 63: unlink($file_path."/file3_variation.tmp"); 64: rmdir($file_path."/file_variation"); 65: 66: ?> 67: --EXPECTF-- 68: *** Using various flags values with different data in a file 69: --Iteration 1 -- 70: array(1) { 71: [0]=> 72: string(12) "Garbage data" 73: } 74: array(1) { 75: [0]=> 76: string(12) "Garbage data" 77: } 78: --Iteration 2 -- 79: array(4) { 80: [0]=> 81: string(3) "Gar" 82: [1]=> 83: string(2) "ba" 84: [2]=> 85: string(4) "ge d" 86: [3]=> 87: string(3) "ata" 88: } 89: array(4) { 90: [0]=> 91: string(4) "Gar 92: " 93: [1]=> 94: string(3) "ba 95: " 96: [2]=> 97: string(5) "ge d 98: " 99: [3]=> 100: string(3) "ata" 101: } 102: --Iteration 3 -- 103: array(5) { 104: [0]=> 105: string(3) "Gar" 106: [1]=> 107: string(0) "" 108: [2]=> 109: string(5) "bage " 110: [3]=> 111: string(0) "" 112: [4]=> 113: string(5) " data" 114: } 115: array(5) { 116: [0]=> 117: string(4) "Gar 118: " 119: [1]=> 120: string(1) " 121: " 122: [2]=> 123: string(6) "bage 124: " 125: [3]=> 126: string(1) " 127: " 128: [4]=> 129: string(5) " data" 130: } 131: *** Testing with variation in use_include_path argument *** 132: array(1) { 133: [0]=> 134: string(44) "aaaaaaaaaaaaaaabbbbbbbbbbb111111111222222222" 135: } 136: array(1) { 137: [0]=> 138: string(44) "aaaaaaaaaaaaaaabbbbbbbbbbb111111111222222222" 139: } 140: *** Using file function to remove line containing a key string *** 141: File contents in array form Before replacement of the key 142: array(3) { 143: [0]=> 144: string(44) "The key string to be searched is SEARCH_KEY 145: " 146: [1]=> 147: string(24) "Line without key string 148: " 149: [2]=> 150: string(43) "The key string to be searched is SEARCH_KEY" 151: } 152: File contents in array form After replacement of the key 153: array(1) { 154: [0]=> 155: string(24) "Line without key string 156: " 157: } 158: 159: --- Done --- 160: