国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

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

2024-05-05 00:03:49
字體:
供稿:網(wǎng)友

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

<?php// ===================文件夾 遞歸 去除PHP注釋并壓縮=========================header("content-type:text/html;charset=utf-8");$dir = "D:/sound/admin--";  // 需要轉(zhuǎn)換的文件路徑。$fdir = "D:/sound/admin";  // 最終要放到的位置。$dir = str_replace('//','/',$dir);$fdir = str_replace('//','/',$fdir);if($dir == $fdir){ echo "源文件與現(xiàn)在文件路徑?jīng)_突,換一個(gè)路徑吧"; exit;}$arr = array($dir,$fdir);ergodic($dir,$arr); // 遞歸的時(shí)候目錄名一直是改變的。所以用一個(gè)數(shù)組另外存儲(chǔ)兩個(gè)路徑,這樣創(chuàng)建文件或者目錄的時(shí)候就可以找到在那個(gè)目錄下。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)){  // 讀取一個(gè)打開的文件名。      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{    // 此處無用(因?yàn)閬淼亩际悄夸洠绻晦D(zhuǎn)換一個(gè)文件,就可以這樣使用。   file_put_contents($arr[1].'/'.$dirname,replace_php_src($arr[0].'/'.$dirname) );  }}// 去除注釋并壓縮,heredoc存在的時(shí)候去注釋不壓縮。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 標(biāo)記進(jìn)行分割.      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 解析器代號(hào)的符號(hào)名稱.            if($name == 'T_COMMENT' || $name == 'T_DOC_COMMENT' ){ // 去除注釋                continue;            }else{              $str .= $file[$i][1];            }        }      }  }else{    $str = php_strip_whitespace($src); // 不存在 heredoc 。因?yàn)樗麜?huì)錯(cuò)誤解析。  }  return $str;}

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到PHP教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 临武县| 西安市| 白山市| 百色市| 肥乡县| 酒泉市| 留坝县| 南漳县| 永吉县| 通山县| 桃源县| 奎屯市| 利辛县| 济源市| 汉源县| 雅江县| 航空| 于田县| 龙口市| 茌平县| 饶河县| 威宁| 义马市| 隆林| 沂源县| 巫山县| 呼伦贝尔市| 东至县| 咸丰县| 荣昌县| 瑞丽市| 白沙| 惠水县| 仪陇县| 荥经县| 桦甸市| 来宾市| 祥云县| 阳西县| 涪陵区| 遂宁市|