如果你的url链接是相对路径“static/mapicss”你想把他批量替换成绝对路径“那么你可以这样做
写一个PHP文件把需要替换的网址写进去 这个代码的意思就是把#BASE_URL#替换成 这句话的意思是把resource文件里的内容替换一遍然后放到cloud文件夹里FileUtil::copyDir("resource""cloud"true); 复制代码 代码如下: <?php //需要替换的关键字 $GLOBALS["patterns"] = array( "/#BASE_URL#/" ); //替换后的内容和上面的匹配规则一一对应 $GLOBALS["replacements"] = array( " //" //" ); /** * 操纵文件类 * * 例子 * FileUtil::copyDir(bd/e); 测试复制文件夹 建立一个d/e文件夹把b文件夹下的内容复制进去 * FileUtil::copyFile(b///exeb/b/exe); 测试复制文件 建立一个b/b文件夹并把b//文件夹中的exe文件复制进去 * FileUtil::createDir(a///); 测试建立文件夹 建一个a///文件夹 * FileUtil::unlinkFile(b/d/exe); 测试删除文件 删除b/d/exe文件 */ class FileUtil { /** * 建立文件夹 * * @param string $aimUrl * @return viod */ function createDir($aimUrl) { $aimUrl = str_replace( / $aimUrl); $aimDir = ; $arr = explode(/ $aimUrl); foreach ($arr as $str) { $aimDir = $str /; if (!file_exists($aimDir)) { mkdir($aimDir); } } } /** * 删除文件 * * @param string $aimUrl * @return boolean */ function unlinkFile($aimUrl) { if (file_exists($aimUrl)) { unlink($aimUrl); return true; } else { return false; } } /** * 复制文件夹 * * @param string $oldDir * @param string $aimDir * @param boolean $overWrite 该参数控制是否覆盖原文件 * @return boolean */ function copyDir($oldDir $aimDir $overWrite = false) { $aimDir = str_replace( / $aimDir); $aimDir = substr($aimDir ) == / ? $aimDir : $aimDir/; $oldDir = str_replace( / $oldDir); $oldDir = substr($oldDir ) == / ? $oldDir : $oldDir/; if (!is_dir($oldDir)) { return false; } if (!file_exists($aimDir)) { FileUtil::createDir($aimDir); } $dirHandle = opendir($oldDir); while(false !== ($file = readdir($dirHandle))) { if ($file == || $file == ) { continue; } if (!is_dir($oldDir $file)) { FileUtil::copyFile($oldDir $file $aimDir $file $overWrite); } else { FileUtil::copyDir($oldDir $file $aimDir $file $overWrite); } } return closedir($dirHandle); } /** * 复制文件 * * @param string $fileUrl * @param string $aimUrl * @param boolean $overWrite 该参数控制是否覆盖原文件 * @return boolean */ function copyFile($fileUrl $aimUrl $overWrite = false) { if (!file_exists($fileUrl)) { return false; } if (file_exists($aimUrl) && $overWrite == false) { return false; } elseif (file_exists($aimUrl) && $overWrite == true) { FileUtil::unlinkFile($aimUrl); } $aimDir = dirname($aimUrl); FileUtil::createDir($aimDir); copy($fileUrl $aimUrl); //替换变量 $apiFilePointer = fopen($aimUrl r); $apiFileContent = fread($apiFilePointer filesize($aimUrl)); //只在jshtmlcss文件进行替换 if (preg_match(/(js|html|css|htm)$/ $aimUrl)) { $apiFileContent = preg_replace($GLOBALS["patterns"] $GLOBALS["replacements"] $apiFileContent); } fclose($apiFilePointer); echo $aimUrl"rn"; $apiFilePointer = fopen($aimUrl w+); fwrite($apiFilePointer $apiFileContent); fclose($apiFilePointer); //替换变量 return true; } } FileUtil::copyDir("resource""cloud"true); ?> 再写一个bat批处理文件来运行这个PHP php releasephp 现在只需点击bat文件全部页面里的相对地址就会变成绝对地址了 |