Home >Backend Development >PHP Tutorial >Four common ways for PHP to read text files and the meaning of uncommon parameters in str_replace

Four common ways for PHP to read text files and the meaning of uncommon parameters in str_replace

不言
不言Original
2018-04-20 12:40:031870browse

This article mainly introduces in detail the four commonly used ways of reading text files in PHP and the meaning of uncommon parameters in str_replace. It has certain reference value and interested friends can refer to it

It may seem like a simple thing, but it’s probably because you don’t know enough about it. Of course, if you know more about it, you won’t find it complicated, but you know more than others. Just like our commonly used file_get_contents, we often use it to get the content of a URL, but in fact it can also be used to perform post requests, bring header information, set timeouts, and even call ftp, specify proxy, etc. Even like a simple echo function, if you don't know more, maybe you don't know that you can write multiple variables directly after echo, just use commas to separate them.

I accidentally came across a file method in the manual today. To be honest, I have never used this method before. I thought it was very useful. You can directly read the contents of a text file into an array line by line, which feels very convenient in some situations. Then I read more about how to operate files in PHP, and then used str_replace, a frequently used method. When using str_replace, I was wondering if I could control loop replacement through parameters.

For example, a string: hello world, I want to replace lo with ol. After replacement, it becomes hello world, and after one replacement, it has lo in its structure. Can I control it? Let it be replaced again. However, I found that there is no such parameter. str_replace itself has a fourth parameter, but it is a return data, returning the total number of replacements during the replacement period. Today’s play is organized as follows:

str_replace is organized as follows:
1:str_replace: The last parameter will return a statistical data of how many times it has been replaced in total.
2:str_replace : Will cycle and replace
3: str_replace: You can directly operate and replace the array, no need to cycle and replace individually
4: A very beautiful replacement: use an array to contain what you want to replace and what you want to replace

//1:str_replace:最后一个参数会返回总共替换了多少次的一个统计数据.
$char = str_replace(array('is','s'),'_','this is a replace test.', $count);
echo $char.&#39;共替换&#39;.$count.&#39;次<br>&#39;;

//2:str_replace:会循环替换
$char = str_replace(array(&#39;t&#39;,&#39;k&#39;),array(&#39;k&#39;,&#39;_&#39;),&#39;this is a replace test.&#39;, $count);
echo $char.&#39;共替换&#39;.$count.&#39;次<br>&#39;;

//3:str_replace:可以直接对数组进行操作替换,不需要循环单独替换
$char_arr = array(&#39;hello&#39;,&#39;world&#39;);
$char_arr = str_replace(array(&#39;o&#39;,&#39;k&#39;),array(&#39;k&#39;,&#39;_&#39;),$char_arr,$count);
print_r($char_arr);
echo &#39;共替换&#39;.$count.&#39;次<br><br>&#39;;

//4:一个非常漂亮的替换:使用一个数组
$replaceThis = Array(
    &#39;old word&#39; => &#39;new word&#39;,
    &#39;was&#39; => &#39;it&#39;,
    &#39;past&#39; => &#39;future&#39;,
);
$originalText = "every old word was a thing of the past...";
$replacedText = str_replace(array_keys($replaceThi


About 4 ways to read files in PHP:
1, use fopen, fread to read the file once, or specify the size multiple times Read.
2, use fopen to open, read line by line through fgets, fgets does not specify the length parameter, and the default is to read 1k.
3, use the file function to read the contents into the array at once (separated by row)
4, read the file content by file_get_contents

$file_path = "error.log";
if(!file_exists($file_path)) exit(&#39;file not exits.&#39;);

//1,使用fopen,fread一次读取文件,也可通过指定大小多次读取。
$fp = fopen($file_path, "r");
$str = trim(fread($fp, filesize($file_path)));
echo str_replace(array("rn"), "<br>", $str);
echo "<br>".str_repeat(&#39;-&#39;, 50)."<br>";

//2,使用fopen打开,通过fgets逐行读取,fgets不指定length参数,默认是读取1k。
$fp = fopen($file_path,"r");
$str ="";
while(!feof($fp)){
    $str .= fgets($fp);
}
$str = str_replace("rn","<br>",$str);
echo $str;

//3,使用file函数一次性将内容读入数组(按行分开)
$file = file($file_path);
echo implode(&#39;<br>&#39;, $file);
echo "<br>".str_repeat(&#39;-&#39;, 50)."<br>";

//4,读取文件内容的方式file_get_contents
$str=trim(file_get_contents($file_path));
echo str_replace(array("rn"), "<br>", $str);
echo "<br>".str_repeat(&#39;-&#39;, 50)."<br>";

Related recommendations:

PHP method code for reading files

Basic operations for Php to read data

The above is the detailed content of Four common ways for PHP to read text files and the meaning of uncommon parameters in str_replace. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn