多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > PHP 批量替換相對地址為絕對地址實現代碼

PHP 批量替換相對地址為絕對地址實現代碼

來源:程序員人生   發布時間:2014-01-30 20:49:39 閱讀次數:4044次
  1. <?php 
  2.  
  3. //需要替換的關鍵字 
  4. $GLOBALS["patterns"] = array
  5.     "/#BASE_URL#/" 
  6. ); 
  7. //替換后的內容,和上面的匹配規則一一對應 
  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');                    測試復制文件夾 建立一個d/e文件夾,把b文件夾下的內容復制進去 
  18.  * FileUtil::copyFile('b/1/2/3.exe','b/b/3.exe'); 測試復制文件        建立一個b/b文件夾,并把b/1/2文件夾中的3.exe文件復制進去 
  19.  * FileUtil::createDir('a/1/2/3');                    測試建立文件夾 建一個a/1/2/3文件夾 
  20.  * FileUtil::unlinkFile('b/d/3.exe');             測試刪除文件        刪除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.      * 復制文件夾 
  57.      * 
  58.      * @param string $oldDir 
  59.      * @param string $aimDir 
  60.      * @param boolean $overWrite 該參數控制是否覆蓋原文件 
  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.      * 復制文件 
  89.      * 
  90.      * @param string $fileUrl 
  91.      * @param string $aimUrl 
  92.      * @param boolean $overWrite 該參數控制是否覆蓋原文件 
  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文件進行替換 
  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. ?> 
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 亚洲国产精品a一区二区三区 | 午夜网站免费版在线观看 | 又大又硬又黄又刺激的免费视频 | 女人18毛片特级一级免费视频 | 视频精品一区 | 一区二区免费视频 | 东京干男人| 午夜在线播放视频在线观看视频 | 久久大香伊焦在人线免费 | 羞羞视频免费入口网站 | 黄色影院在线观看视频 | 国产高清一区二区三区视频 | 67194在线午夜亚洲 | 欧美一区日韩精品 | 久久最新视频 | 国产欧美亚洲三区久在线观看 | 欧美成人免费一区在线播放 | 朝鲜女人free性hd年轻 | 欧美抽搐一进一进一出 | 日本a在线 | 欧美日韩大片 | 一级毛片在线观看免费 | 国产一区二区三区在线免费 | 久久成人精品免费播放 | 国产69精品久久久久999三级 | 在线播放a 1| 欧美高清videos36opsexhd | 日本动漫片b站免费观看 | 正在播放国产露脸做91 | 国产1区二区 | 美国伊人网 | 91久久精品国产一区二区 | 亚洲a级| 国产一区二区三区在线 | 精品国产福利在线观看网址2022 | 羞羞免费网页登界面入口 | 农村妇女又色黄一级毛片 | 成人精品在线视频 | 亚洲天堂2017 | 羞羞首页登录界面入口免费 | 波多野结衣一区二区 |