이 글은 주로 PHP에서 텍스트 파일을 읽는 네 가지 방법과 str_replace에서 흔하지 않은 매개변수의 의미를 자세히 소개합니다. 관심 있는 친구들이 참고할 수 있습니다.
간단해 보일 수도 있습니다. 물론, 더 많이 알면 복잡하다고 느껴지지는 않겠지만, 남들보다 더 많이 알고 있기 때문일 것입니다. 일반적으로 사용되는 file_get_contents와 마찬가지로 URL의 콘텐츠를 가져오는 데 자주 사용하지만 실제로는 게시 요청을 수행하고, 헤더 정보를 가져오고, 시간 제한을 설정하고, 심지어 ftp를 호출하고, 프록시를 지정하는 데에도 사용할 수 있습니다. 단순한 echo 함수처럼, 더 자세히 알지 못한다면 echo 바로 뒤에 여러 변수를 작성할 수 있다는 것을 모르실 수도 있으니, 그냥 쉼표로 구분하시면 됩니다.
오늘 우연히 매뉴얼에서 파일 방식을 발견했습니다. 사실 저는 이 방식을 사용해 본 적이 없는데 매우 유용하다고 생각했습니다. 텍스트 파일의 내용을 한 줄씩 배열로 직접 읽을 수 있는데, 이는 어떤 상황에서는 매우 편리하게 느껴집니다. 그러다가 PHP에서 파일을 조작하는 방법에 대해 자세히 읽은 다음 자주 사용하는 방법인 str_replace를 사용했습니다. str_replace를 사용할 때 매개변수를 통해 루프 교체를 제어할 수 있는지 궁금했습니다.
예를 들어 문자열: hello world, lo를 ol로 바꾸고 싶습니다. 교체 후에는 hello world가 되고, 한 번 교체하면 구조에 lo가 다시 교체될 수 있는지 제어할 수 있나요? . 그런데 그런 매개변수가 없다는 걸 발견했습니다. str_replace 자체에는 네 번째 매개변수가 있지만 교체 기간 동안 총 교체 횟수를 반환하는 반환 데이터입니다. 오늘의 플레이는 다음과 같이 구성됩니다.
str_replace는 다음과 같이 구성됩니다.
1: str_replace: 마지막 매개변수는 총 대체 횟수에 대한 통계 데이터를 반환합니다.
2: str_replace: 에서 대체됩니다. a loop
3: str_replace: 연산과 교체를 위해 직접 배열을 사용할 수 있습니다. 개별적으로 루프를 만들고 교체할 필요가 없습니다
4: 매우 아름다운 교체: 교체할 항목과 교체할 항목을 포함하는 배열을 사용하세요
//1:str_replace:最后一个参数会返回总共替换了多少次的一个统计数据. $char = str_replace(array('is','s'),'_','this is a replace test.', $count); echo $char.'共替换'.$count.'次<br>'; //2:str_replace:会循环替换 $char = str_replace(array('t','k'),array('k','_'),'this is a replace test.', $count); echo $char.'共替换'.$count.'次<br>'; //3:str_replace:可以直接对数组进行操作替换,不需要循环单独替换 $char_arr = array('hello','world'); $char_arr = str_replace(array('o','k'),array('k','_'),$char_arr,$count); print_r($char_arr); echo '共替换'.$count.'次<br><br>'; //4:一个非常漂亮的替换:使用一个数组 $replaceThis = Array( 'old word' => 'new word', 'was' => 'it', 'past' => 'future', ); $originalText = "every old word was a thing of the past..."; $replacedText = str_replace(array_keys($replaceThi
PHP에서 파일을 읽는 4가지 방법:
1. fopen 및 fread를 사용하여 파일을 한 번 읽거나 크기를 지정하여 여러 번 읽습니다.
2, fopen을 사용하여 열고 fgets를 통해 한 줄씩 읽습니다. fgets는 길이 매개변수를 지정하지 않으며 기본값은 1k를 읽는 것입니다.
3. 내용을 한 줄로 배열로 읽어들이려면 파일 함수를 사용하세요.
4. 파일 내용을 읽는 방법은 file_get_contents
$file_path = "error.log"; if(!file_exists($file_path)) exit('file not exits.'); //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('-', 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('<br>', $file); echo "<br>".str_repeat('-', 50)."<br>"; //4,读取文件内容的方式file_get_contents $str=trim(file_get_contents($file_path)); echo str_replace(array("rn"), "<br>", $str); echo "<br>".str_repeat('-', 50)."<br>";
관련 권장 사항:
로 데이터를 읽는 기본 작업위 내용은 PHP가 텍스트 파일을 읽는 네 가지 일반적인 방법과 str_replace에서 일반적이지 않은 매개변수의 의미의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!