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

2020-07-16 10:06:25

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 '++++++++++'. $file.'++++++++++<br />';
                    }
                    else echo '------非PHP檔案------<br />';
                    $num++;
                }
            }
        }
        closedir($handle);
    }
}
function myScanDir($path) {
    $result = scandir($path);
    foreach($result as $re) {
        if($re == '.' || $re == '..') continue;
        $dir = $path.'/'.$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 = '********************math********************';
        }else{
            $add = '-----------------------------------------------';
        }
        echo "Line #<b>{$line_num}</b>: ". htmlspecialchars($line). $add. '<br />';
    }
    $line = NUll;
    $lines = NUll;
    $line_num = NUll;
}

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

$fp = fopen($file, 'r');  //以讀方式開啟檔案;$fp = fopen($file, 'r+');//以讀寫方式開啟;$fp = fopen($file, 'a');//以寫追加方式開啟
// read some data
$data = fread($fp, 18);  
  //fgetc()讀字串 | fgets()讀行 | fgetss()讀行並去標籤 | fread()讀檔案 | stream_get_line()讀檔案
var_dump($data);echo '-----------<br />';
// move back to the begining of the file
// same as rewind($fp);
fseek($fp, 10);  //設定檔案指標
$data = fread($fp, 9);
var_dump($data);echo '<br />';
fclose($fp);
以上就是php 怎樣批次修改文字內容?的詳細內容,更多請關注TW511.COM其它相關文章!