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

首頁(yè) > 開發(fā) > PHP > 正文

PHP 批量替換相對(duì)地址為絕對(duì)地址實(shí)現(xiàn)代碼

2024-05-04 21:56:57
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
  1. <?php 
  2.  
  3. //需要替換的關(guān)鍵字 
  4. $GLOBALS["patterns"] = array
  5.     "/#BASE_URL#/" 
  6. ); 
  7. //替換后的內(nèi)容,和上面的匹配規(guī)則一一對(duì)應(yīng) 
  8. $GLOBALS["replacements"] = array
  9.    "http://api.map.baidu.com/lbsapi/cloud/" 
  10.     //"http://172.22.168.178/lbsapi/" 
  11.     //"http://dev.baidu.com/wiki/static/map/cloud/" 
  12. ); 
  13. /** 
  14.  * 操縱文件類 
  15.  *  
  16.  * 例子: 
  17.  * FileUtil::copyDir('b','d/e');                    測(cè)試復(fù)制文件夾 建立一個(gè)d/e文件夾,把b文件夾下的內(nèi)容復(fù)制進(jìn)去 
  18.  * FileUtil::copyFile('b/1/2/3.exe','b/b/3.exe'); 測(cè)試復(fù)制文件        建立一個(gè)b/b文件夾,并把b/1/2文件夾中的3.exe文件復(fù)制進(jìn)去 
  19.  * FileUtil::createDir('a/1/2/3');                    測(cè)試建立文件夾 建一個(gè)a/1/2/3文件夾 
  20.  * FileUtil::unlinkFile('b/d/3.exe');             測(cè)試刪除文件        刪除b/d/3.exe文件 
  21.  */ 
  22. class FileUtil { 
  23.     /** 
  24.      * 建立文件夾 
  25.      * 
  26.      * @param string $aimUrl 
  27.      * @return viod 
  28.      */ 
  29.     function createDir($aimUrl) { 
  30.         $aimUrl = str_replace('''/'$aimUrl); 
  31.         $aimDir = ''
  32.         $arr = explode('/'$aimUrl); 
  33.         foreach ($arr as $str) { 
  34.             $aimDir .= $str . '/'
  35.             if (!file_exists($aimDir)) { 
  36.                 mkdir($aimDir); 
  37.             } 
  38.         } 
  39.     } 
  40.     /** 
  41.      * 刪除文件 
  42.      * 
  43.      * @param string $aimUrl 
  44.      * @return boolean 
  45.      */ 
  46.     function unlinkFile($aimUrl) { 
  47.         if (file_exists($aimUrl)) { 
  48.             unlink($aimUrl); 
  49.             return true; 
  50.         } else { 
  51.             return false; 
  52.         } 
  53.     } 
  54.      
  55.     /** 
  56.      * 復(fù)制文件夾 
  57.      * 
  58.      * @param string $oldDir 
  59.      * @param string $aimDir 
  60.      * @param boolean $overWrite 該參數(shù)控制是否覆蓋原文件 
  61.      * @return boolean 
  62.      */ 
  63.     function copyDir($oldDir$aimDir$overWrite = false) { 
  64.         $aimDir = str_replace('''/'$aimDir); 
  65.         $aimDir = substr($aimDir, -1) == '/' ? $aimDir : $aimDir.'/'
  66.         $oldDir = str_replace('''/'$oldDir); 
  67.         $oldDir = substr($oldDir, -1) == '/' ? $oldDir : $oldDir.'/'
  68.         if (!is_dir($oldDir)) { 
  69.             return false; 
  70.         } 
  71.         if (!file_exists($aimDir)) { 
  72.             FileUtil::createDir($aimDir); 
  73.         } 
  74.         $dirHandle = opendir($oldDir); 
  75.         while(false !== ($file = readdir($dirHandle))) { 
  76.             if ($file == '.' || $file == '..') { 
  77.                 continue
  78.             } 
  79.             if (!is_dir($oldDir . $file)) { 
  80.                 FileUtil::copyFile($oldDir . $file$aimDir . $file$overWrite); 
  81.             } else { 
  82.                 FileUtil::copyDir($oldDir . $file$aimDir . $file$overWrite); 
  83.             } 
  84.         } 
  85.         return closedir($dirHandle); 
  86.     } 
  87.     /** 
  88.      * 復(fù)制文件 
  89.      * 
  90.      * @param string $fileUrl 
  91.      * @param string $aimUrl 
  92.      * @param boolean $overWrite 該參數(shù)控制是否覆蓋原文件 
  93.      * @return boolean 
  94.      */ 
  95.     function copyFile($fileUrl$aimUrl$overWrite = false) { 
  96.         if (!file_exists($fileUrl)) { 
  97.             return false; 
  98.         } 
  99.         if (file_exists($aimUrl) && $overWrite == false) { 
  100.             return false; 
  101.         } elseif (file_exists($aimUrl) && $overWrite == true) { 
  102.             FileUtil::unlinkFile($aimUrl); 
  103.         } 
  104.         $aimDir = dirname($aimUrl); 
  105.         FileUtil::createDir($aimDir); 
  106.         copy($fileUrl$aimUrl); 
  107.         //替換變量 
  108.         $apiFilePointer = fopen($aimUrl'r'); 
  109.         $apiFileContent = fread($apiFilePointerfilesize($aimUrl)); 
  110.         //只在js、html、css文件進(jìn)行替換 
  111.         if (preg_match('/(.js|.html|.css|.htm)$/'$aimUrl)) { 
  112.             $apiFileContent = preg_replace($GLOBALS["patterns"], $GLOBALS["replacements"], $apiFileContent); 
  113.         } 
  114.         fclose($apiFilePointer); 
  115.         echo $aimUrl."rn"
  116.         $apiFilePointer = fopen($aimUrl'w+'); 
  117.         fwrite($apiFilePointer$apiFileContent); 
  118.         fclose($apiFilePointer); 
  119.         //替換變量 
  120.         return true; 
  121.     } 
  122. FileUtil::copyDir("resource","cloud",true); 
  123. ?> 

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 辽阳县| 松潘县| 隆安县| 乌什县| 阿勒泰市| 通辽市| 外汇| 龙海市| 筠连县| 阿荣旗| 视频| 寻甸| 定边县| 揭西县| 伽师县| 巴塘县| 三原县| 中宁县| 临沂市| 庆城县| 进贤县| 凉山| 逊克县| 曲靖市| 天津市| 铅山县| 娄底市| 叙永县| 红河县| 泸水县| 开江县| 桑植县| 安溪县| 祁连县| 柳江县| 二连浩特市| 敦煌市| 新郑市| 乌鲁木齐市| 图们市| 碌曲县|