主頁 > 知識庫 > PHP遞歸遍歷文件夾去除注釋并壓縮php源代碼的方法示例

PHP遞歸遍歷文件夾去除注釋并壓縮php源代碼的方法示例

熱門標簽:電話機器人銷售主要負責什么 房產(chǎn)中介用的是什么外呼系統(tǒng) 福建銀行智能外呼系統(tǒng)價格 寧波外呼營銷系統(tǒng) 長沙做地圖標注公司 地圖標注專員怎么樣 遼寧ai電銷機器人價格 上海做外呼線路的通信公司 四川保險智能外呼系統(tǒng)供應商

本文實例講述了PHP遞歸遍歷文件夾去除注釋并壓縮代碼的方法。分享給大家供大家參考,具體如下:

?php
// ===================文件夾 遞歸 去除PHP注釋并壓縮=========================
header("content-type:text/html;charset=utf-8");
$dir = "D:\sound\admin--";  // 需要轉換的文件路徑。
$fdir = "D:\sound\admin";  // 最終要放到的位置。
$dir = str_replace('\\','/',$dir);
$fdir = str_replace('\\','/',$fdir);
if($dir == $fdir){
 echo "源文件與現(xiàn)在文件路徑?jīng)_突,換一個路徑吧";
 exit;
}
$arr = array($dir,$fdir);
ergodic($dir,$arr); // 遞歸的時候目錄名一直是改變的。所以用一個數(shù)組另外存儲兩個路徑,這樣創(chuàng)建文件或者目錄的時候就可以找到在那個目錄下。
md($fdir);
function md($md){ // 創(chuàng)建目錄
 if(!is_dir($md)  !empty($md) ){
    mkdir($md,0777);
 }
}
// 遞歸
function ergodic($dirname,$arr){
  if(is_dir($dirname)){
    $handle = opendir($dirname);
    $a = $arr[1].substr($dirname,strlen($arr[0]) );
    md($a);
    while($filename = readdir($handle)){  // 讀取一個打開的文件名。
      if($filename != '.'  $filename != '..'){
        $dir = $dirname.'/'.$filename; // 拼接目錄名
        if(is_dir($dir)){
          ergodic($dir,$arr);  // 遞歸
        }else{
          file_put_contents($a.'/'.$filename,replace_php_src($dir) );
          echo $dir."  去注釋壓縮完成!br>";
        }
      }
    }
  }else{
    // 此處無用(因為來的都是目錄),如果只轉換一個文件,就可以這樣使用。
   file_put_contents($arr[1].'/'.$dirname,replace_php_src($arr[0].'/'.$dirname) );
  }
}
// 去除注釋并壓縮,heredoc存在的時候去注釋不壓縮。
function replace_php_src($src){
  $contents = file_get_contents($src);
  $num = substr_count($contents,'');  // heredoc 是否存在。
  $str = "";
  if($num > 0){  // heredoc 存在。只去除注釋不壓縮。
      $file = token_get_all($contents); // token_get_all() 將提供的源碼按 PHP 標記進行分割.
      for ($i=0; $i  count($file); $i++) {
        if( is_string($file[$i]) ){
          $str .= $file[$i];
        }else{
           $name = token_name( $file[$i][0] ); // token_name() 獲取提供的 PHP 解析器代號的符號名稱.
            if($name == 'T_COMMENT' || $name == 'T_DOC_COMMENT' ){ // 去除注釋
                continue;
            }else{
              $str .= $file[$i][1];
            }
        }
      }
  }else{
    $str = php_strip_whitespace($src); // 不存在 heredoc 。因為他會錯誤解析。
  }
  return $str;
}

更多關于PHP相關內(nèi)容感興趣的讀者可查看本站專題:《PHP目錄操作技巧匯總》、《php文件操作總結》、《PHP常用遍歷算法與技巧總結》、《PHP數(shù)據(jù)結構與算法教程》、《php程序設計算法總結》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結》及《php常見數(shù)據(jù)庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

您可能感興趣的文章:
  • 將文件夾壓縮成zip文件的php代碼
  • PHP 壓縮文件夾的類代碼
  • php實現(xiàn)zip壓縮文件解壓縮代碼分享(簡單易懂)
  • php生成zip壓縮文件的方法詳解
  • PHP Zip壓縮 在線對文件進行壓縮的函數(shù)
  • php啟用zlib壓縮文件的配置方法
  • PHP Zip解壓 文件在線解壓縮的函數(shù)代碼
  • php文件打包 下載之使用PHP自帶的ZipArchive壓縮文件并下載打包好的文件
  • php壓縮文件夾最新版

標簽:常德 深圳 佛山 澳門 宜春 延安 宿遷 工商登記

巨人網(wǎng)絡通訊聲明:本文標題《PHP遞歸遍歷文件夾去除注釋并壓縮php源代碼的方法示例》,本文關鍵詞  PHP,遞歸,遍歷,文件夾,去除,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP遞歸遍歷文件夾去除注釋并壓縮php源代碼的方法示例》相關的同類信息!
  • 本頁收集關于PHP遞歸遍歷文件夾去除注釋并壓縮php源代碼的方法示例的相關信息資訊供網(wǎng)民參考!
  • 推薦文章