教你如何批量替换相对地址为绝对地址利用bat批处理实现
发布时间:2022-07-12 12:40 所属栏目:121 来源:互联网
导读:如果你的url链接是相对路径static/mapi.css,你想把他批量替换成绝对路径http://dev.baidu.com/wiki/static/map/cloud/static/mapi.css。那么,你可以这样做: 写一个PHP文件,把需要替换的网址写进去。 这个代码的意思就是,把#BASE_URL#替换成 http://api.
如果你的url链接是相对路径“static/mapi.css”,你想把他批量替换成绝对路径“http://dev.baidu.com/wiki/static/map/cloud/static/mapi.css”。那么,你可以这样做: 写一个PHP文件,把需要替换的网址写进去。 这个代码的意思就是,把#BASE_URL#替换成 http://api.map.baidu.com/lbsapi/cloud/ 。 这句话的意思是,把resource文件里的内容替换一遍,然后放到cloud文件夹里。FileUtil::copyDir("resource","cloud",true); 复制代码 代码如下:www.CuoXIn.com <?php //需要替换的关键字 $GLOBALS["patterns"] = array( "/#BASE_URL#/" ); //替换后的内容,和上面的匹配规则一一对应 $GLOBALS["replacements"] = array( "http://api.map.baidu.com/lbsapi/cloud/" //"http://172.22.168.178/lbsapi/" //"http://dev.baidu.com/wiki/static/map/cloud/" ); /** * 操纵文件类 * * 复制文件 * * @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)); //只在js、html、css文件进行替换 if (preg_match('/(/.js|/.html|/.css|/.htm)$/', $aimUrl)) { $apiFileContent = preg_replace($GLOBALS["patterns"], $GLOBALS["replacements"], $apiFileContent); } fclose($apiFilePointer); echo $aimUrl."/r/n"; $apiFilePointer = fopen($aimUrl, 'w+'); fwrite($apiFilePointer, $apiFileContent); fclose($apiFilePointer); //替换变量 return true; } } FileUtil::copyDir("resource","cloud",true); ?> 再写一个bat批处理文件,来运行这个PHP。 php release.php 现在,只需点击bat文件,全部页面里的相对地址就会变成绝对地址了。 (编辑:ASP站长网) |
相关内容
网友评论
推荐文章
热点阅读