首頁 >後端開發 >PHP問題 >php 怎麼批次修改文字內容?

php 怎麼批次修改文字內容?

coldplay.xixi
coldplay.xixi原創
2020-06-11 10:50:012803瀏覽

php 怎麼批次修改文字內容?

php 怎麼批次修改文字內容?

php 批次修改文字內容的方法:

//列出目录下文件
function file_list($path){
    $num = 0;
    if($handle = opendir($path)){
        while(false !== $file=readdir($handle)){
            if($file !='.' && $file !='..'){
                if(is_dir($path. '/'. $file)){
                    file_list($path. '/'. $file);
                }else{
                    if(preg_match ("/.php$/", $file)){  //这里匹配是否PHP文件
                        file_content_replace($path.'/'.$file, 'PPCART_TEXT_SUCCESS', '***********'); //这里的替换方式;开始替换文本
                        echo &#39;++++++++++&#39;. $file.&#39;++++++++++<br />&#39;;
                    }
                    else echo &#39;------非PHP文件------<br />&#39;;
                    $num++;
                }
            }
        }
        closedir($handle);
    }
}
function myScanDir($path) {
    $result = scandir($path);
    foreach($result as $re) {
        if($re == &#39;.&#39; || $re == &#39;..&#39;) continue;
        $dir = $path.&#39;/&#39;.$re;
        if(is_dir($dir)) {
            showDir($dir);
            continue;
        }
        echo $dir."<br />";
    }
}
//比较替换参数依:文件名、被替换字符串、替换字符串;file_get_contents(),file_put_contents(),str_replace()配合使用
function file_content_replace($filename, $search, $replace){
    $string = file_get_contents($filename);
    $new_string = str_replace($search, $replace, $string);
    if($string !=$new_string) file_put_contents($filename, $new_string);
}

操作檔的函數有很多有用的:

##file( )把檔案讀入一個陣列中,(便可以逐行顯示檔案內容)

//逐行显示文件内容
function show_line($file){
    $lines = file($file);
    foreach($lines as $line_num => $line){
        if(preg_match ("/PPCART_TEXT_SUCCESS/", $line)){
            $add = &#39;********************math********************&#39;;
        }else{
            $add = &#39;-----------------------------------------------&#39;;
        }
        echo "Line #<b>{$line_num}</b>: ". htmlspecialchars($line). $add. &#39;<br />&#39;;
    }
    $line = NUll;
    $lines = NUll;
    $line_num = NUll;
}

不把檔案內在讀出來放到另人變數裡的,直接讀取檔案快取中的內容

$fp = fopen($file, &#39;r&#39;);  //以读方式打开文件;$fp = fopen($file, &#39;r+&#39;);//以读写方式打开;$fp = fopen($file, &#39;a&#39;);//以写追加方式打开
// read some data
$data = fread($fp, 18);  
  //fgetc()读字符串 | fgets()读行 | fgetss()读行并去标签 | fread()读文件 | stream_get_line()读文件
var_dump($data);echo &#39;-----------<br />&#39;;
// move back to the begining of the file
// same as rewind($fp);
fseek($fp, 10);  //设置文件指针
$data = fread($fp, 9);
var_dump($data);echo &#39;<br />&#39;;
fclose($fp);

推薦教學:《

PHP影片教學

以上是php 怎麼批次修改文字內容?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn