foreach('路径/*.hyml') as $fn) {
file_put_contents($fn, str_replace('</head>', '<script src="m.js" type="text/javascript"></script></head>', file_get_contents($fn)));
}
file_put_contents($fn, str_replace('</head>', '<script src="m.js" type="text/javascript"></script></head>', file_get_contents($fn)));
}
用这个方法会提示:Invalid argument supplied for foreach(),我是这么写
foreach(('tiezi/20140610/*.html') as $fn)
{
file_put_contents($fn, str_replace('</head>', '<script src="m.js" type="text/javascript"></script></head>', file_get_contents($fn)));
}
/** 遍历文件夹及文件类
* Date: 2013-03-21
* Author: fdipzone
* Ver: 1.0
*
* Funcitons
* process 遍历文件及文件夹
* handle 处理文件方法
*/
class FindFile{ // class start public $files = array(); // 存储遍历的文件
protected $maxdepth; // 搜寻深度,0表示没有限制
/* 遍历文件及文件夹
* @param String $spath 文件夹路径
* @param int $maxdepth 搜寻深度,默认搜寻全部
*/
public function process($spath, $maxdepth=0){
if(isset($maxdepth) && is_numeric($maxdepth) && $maxdepth>0){
$this->maxdepth = $maxdepth;
}else{
$this->maxdepth = 0;
}
$this->files = array();
$this->traversing($spath); // 遍历
}
/* 遍历文件及文件夹
* @param String $spath 文件夹路径
* @param int $depth 当前文件夹深度
*/
private function traversing($spath, $depth=1){
if($handle = opendir($spath)){
while(($file=readdir($handle))!==false){
if($file!='.' && $file!='..'){
$curfile = $spath.'/'.$file; if(is_dir($curfile)){ // dir
if($this->maxdepth==0 || $depth<$this->maxdepth){ // 判断深度
$this->traversing($curfile, $depth+1);
}
}else{ // file
$this->handle($curfile);
} }
}
closedir($handle);
}
}
/** 处理文件方法
* @param String $file 文件路径
*/
protected function handle($file){
if(strtolower(substr($file,-4))=='html'){
file_put_contents($file, str_replace('</head>', '<script src="m.js" type="text/javascript"></script></head>', file_get_contents($file)));
}
}} // class end$obj = new FindFile();
$obj->process('tiezi/20140610');
foreach(glob('tiezi/20140610/*.html') as $fn)
{
file_put_contents($fn, str_replace('</head>', '<script src="m.js" type="text/javascript"></script></head>', file_get_contents($fn)));
}
$jslink .= "<script src=" m2.js" type="text/javascript"></script>";
$jslink .= "<script src=" m3.js" type="text/javascript"></script>";
$jslink .= "<script src=" m4.js" type="text/javascript"></script>";
$jslink .= "<script src=" m5.js" type="text/javascript"></script>";
$this->assign('jslin',$jslink);
html
<head>{$jslink}</head>
我个人建议楼主先整理一下架构...
这个OK,现在想问下,这种添加出来的格式是:<script src="m.js" type="text/javascript"></script></head>,在源文件中<head>和JS
引用在一行,请问下怎么能让</head>换行,这样好看点
在网上找了方法,
file_put_contents($fn, str_replace('</head>', '<script src="m.js" type="text/javascript"></script>\r\n</head>',
添加'\r\n',没用
file_put_contents($fn, str_replace('</head>', "<script src='m.js' type='text/javascrip'></script>\r\n</head>",