php 批量替換程式執行個體代碼_PHP教程

來源:互聯網
上載者:User
代碼如下:

/***************************************************************************
batch-replace, v1.1
***************************************************************************
file: batch-replace_utf8.php
functionality: 本程式可以掃描指定目錄的所有檔案,進行內容替換。可用於被批量掛馬的刪除以及批次更新頁面某些內容。
本程式適用於對UTF-8的頁面進行修改。

/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/

set_time_limit(3600);


if($_POST['Submit']=='開始執行操作'){
$dir = $_POST['searchpath'];
$shortname = $_POST['shortname'];
$isall = $_POST['isall'];
$isreg = $_POST['isreg'];

if (!get_magic_quotes_gpc()) {
$sstr = $_POST['sstr'];
$rpstr = $_POST['rpstr'];
} else {
$sstr = stripslashes($_POST['sstr']);
$rpstr = stripslashes($_POST['rpstr']);
}


//分析shortname
$arrext = explode ("|",$shortname);


if (!is_dir($dir)) return;
if ($sstr == '') return;

//把末尾的/去掉
if(substr($dir,-1)=='/') $dir = substr($dir,0,strrpos($dir,"/"));

//羅列所有目錄
if ($isall == 1){
hx_dirtree($dir);
}else{
hx_dealdir($dir);

}

exit();
}


function hx_dirtree($path="."){
global $sstr,$rpstr,$isreg,$arrext;


$d = dir($path);
while(false !== ($v = $d->read())) {
if($v == "." || $v == "..") continue;
$file = $d->path."/".$v;
if(is_dir($file)) {
echo "

$v

"; hx_dirtree($file);
}else{
$ext=substr(strrchr($v,"."), 1);
if( in_array($ext , $arrext) ){
echo "
  • $file ";
    $body = file_get_contents($file);
    if($isreg == 1){
    $body2 = preg_replace($sstr, $rpstr, $body);
    }else{
    $body2 = str_replace($sstr, $rpstr, $body);
    }
    if($body != $body2 && $body2 != ''){
    tofile($file,$body2);
    echo ' OK';
    }else{
    echo ' NO';
    }
    echo '
  • ';
    }
    }
    }
    $d->close();
    }

    function hx_dealdir($dir){
    global $sstr,$rpstr,$isreg,$arrext;
    if ($dh = opendir($dir)) {
    while (false !== ($file = readdir($dh))) {
    if(filetype($dir.'/'.$file)=='file'){

    $ext=substr(strrchr($file,"."), 1);
    if( in_array($ext , $arrext) ){

    echo "

  • $file ";
    $body = file_get_contents($dir.'/'.$file);
    if($isreg == 1){
    $body2 = preg_replace($sstr, $rpstr, $body);
    }else{
    $body2 = str_replace($sstr, $rpstr, $body);
    }
    if($body != $body2 && $body2 != ''){
    tofile($dir.'/'.$file,$body2);
    echo ' OK';
    }else{
    echo ' NO';
    }
    echo '
  • ';
    }
    }
    }
    closedir($dh);
    }

    }
    //把組建檔案的過程寫出函數
    function tofile($file_name,$file_content){
    if (is_file ($file_name)){
    @unlink ($file_name);
    }
    $handle = fopen ($file_name,"w");
    if (!is_writable ($file_name)){
    return false;
    }
    if (!fwrite ($handle,$file_content)){
    return false;
    }
    fclose ($handle); //關閉指標
    return $file_name;
    }
    ?>



    批量替換程式|木馬大量刪除_www.itlearner.com




    批量替換程式(UTF-8版)


    本程式可以掃描指定目錄的所有檔案,進行 內容替換。可用於被批量掛馬的刪除以及批次更新頁面某些內容。

    在檔案數量非常多的情況下,本操作比較佔用伺服器資源,請確指令碼逾時限制時間允許更改,否則可能無法完成操作。












    http://www.bkjia.com/PHPjc/371366.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/371366.htmlTechArticle代碼如下: ?php /*************************************************************************** batch-replace, v1.1 ****************************************************************...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.