$content =file_get_contents('123.php')
//复杂替缓乎换可以考虑使用正则。
$content = str_replace('我是123','我也是123',$content)
file_put_contents('123.php',$content)
$content = file_get_contents($file)/猜拍/读银态文穗搏羡件$content = $content . '正在修改'//修改文件
file_put_contents($file, $content)//保存文件
命令行下 “ren *.php *.htm” 就可以啊如果不只是为了修改文件名 而是为了由动态页面生成静态页面 也就是说生中闭成的htm是那个php的预览效果页面
那么具体的还得根据你的php内部代码处理
看你提供的那段代码好像就是实现了一个修改文件名的功能 如果你不愿用命令 就是想用php实现这一功能的话 可以这么写:
$path="./"
$d = dir($path)
while($f=$d->read()) {
if($f=="."||$f=="..")continue//去掉目录列表中的.和..
$filename=rand(1111111111,9999999999).".htm"//从1111111111-9999999999 中产生一个随机数作为文件名
copy($f,$filename)
}
这个就可以实现你说的功能
但是还有点不是很完善的 你还可以设置输出的路径,检查拷贝状态 多少文件成功多少失败等等 如下
$path="./"
$outputpath="out/"//输出目录
@mkdir($outpath)//如果输出目录不存在 则创建 已经存在创建失败,但不显示出错信息
$d = dir($path)
$i=0//记录文件数量
while($f=$d->read()) {
if($f=="."||$f=="..")continue//去掉目录列表中的.和..
$i++
$filename=$outpath.rand(1111111111,9999999999).".htm"//从1111111111-9999999999 中产生一个随机数作为文件名
if(copy($f,$filename))$j++//拷贝成功的文件个数+1
else continue
}
echo "共 $i 个文件 成功拷贝 $j 个文件"
我看到你的消息了 你是要获取所有的页面的预览效果
只需要在copy的文件加上预览的路径就可以了
<?
$path="./"//文件读取目录
$d = dir($path)
$i=0//记录文件数量
while($f=$d->read()) {
if($f=="."||$f==".."||$f=="copyfile.php")continue//去掉目录列表中的.和..以及当前执行的文件
$i++
$filename=str_replace(".php",".htm",$f)//将文件的.php替换成.htm
if(copy("".$f,$filename))$j++/卖败裂/拷贝成功的文件个数+1
else continue
}
echo "共 $i 个文件 成功拷贝 $j 个文件"
?>
在用的时候确保你的目录先枯让所有的文件都能顺利的的执行 我在测试的时候因为目录中有几个文件有问题 导致一直不成功 去掉了那几个文件就很快了
在对文件名进行处理的时候 如果你的目录下面还有其他类型的文件,建议这样写 :
$filename=$f.".html"//先将文件扩展名增加.html 比如a.php-》a.php.html
$filename=str_replace(".php.","",$filename)//将".php"去掉 a.php.html->a.html
这样可以避免将里面的非php的文件覆盖
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)