Annotation of embedaddon/php/ext/standard/tests/file/file_variation.phpt, revision 1.1.1.1

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: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>