gpt4 book ai didi

php - 使用php重命名文件夹中的所有文件

转载 作者:行者123 更新时间:2023-12-04 21:06:06 26 4
gpt4 key购买 nike

新的 php 程序员在这里。我一直在尝试通过替换扩展名来重命名文件夹中的所有文件。

我使用的代码来自 the answer to a similar question on SO.

if ($handle = opendir('/public_html/testfolder/')) {
while (false !== ($fileName = readdir($handle))) {
$newName = str_replace(".php",".html",$fileName);
rename($fileName, $newName);
}
closedir($handle);

}

运行代码时我没有收到任何错误,但没有对文件名进行任何更改。

关于为什么这不起作用的任何见解?我的权限设置应该允许它。

提前致谢。

编辑:我在检查 rename() 的返回值时得到一个空白页,现在尝试使用 glob() 的东西,这可能是比 opendir 更好的选择......?

编辑 2:使用下面的第二个代码片段,我可以打印 $newfiles 的内容。所以数组存在,但 str_replace + rename() 片段无法更改文件名。
$files = glob('testfolder/*');


foreach($files as $newfiles)
{

//This code doesn't work:

$change = str_replace('php','html',$newfiles);
rename($newfiles,$change);

// But printing $newfiles works fine
print_r($newfiles);
}

最佳答案

这是简单的解决方案:

PHP代码:

// your folder name, here I am using templates in root
$directory = 'templates/';
foreach (glob($directory."*.html") as $filename) {
$file = realpath($filename);
rename($file, str_replace(".html",".php",$file));
}

以上代码将转换所有 .html 文件在 .php

关于php - 使用php重命名文件夹中的所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11955323/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com