file_variation.phpt 3.5 KB

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