如何更改文件夹中每个文件的名称
How to change name of every file in folder
我正在尝试更改文件夹中的每个文件名,例如,如果文件名是 style.css,我想将其重命名为 style_[md5 value of style].css
= style_a1b01e734b573fca08eb1a65e6df9a38.css
这是我试过的方法
if ($handle = opendir("D:/web/htdocs/extra/css/")) {
while (false !== ($fileName = readdir($handle))) {
$path_parts = pathinfo($fileName);
$newName = md5($path_parts['filename']);
rename($fileName, $newName);
}
closedir($handle);
}
我哪里错了?
错误是
Access is denied. (code: 5)
The system cannot find the file specified. (code: 2)
不确定在 windows 上会发生同样的情况,但在 GNU 上……
如果你打印出你打算做什么而不是直截了当地尝试,你会发现一些缺陷:
rename( ., d41d8cd98f00b204e9800998ecf8427e)
rename( .., 5058f1af8388633f609cadb75a75dc9d)
当例如正在做:
echo ("rename( ".$fileName.", ".$newName.")\n");
- 接下来要检查的可能是更改文件的权限……
// DS to print \ the split between folder
define('DS',DIRECTORY_SEPARATOR);
// APP_PATH to get application path on the the server
define('APP_PATH',__DIR__.DS);
$oldname = APP_PATH.'css'.DS.'style.css';
/*
when you echo $oldname ,you will get the complete path of file
*/
// check the file is exists or No
if (file_exists($oldname)) {
$newName = md5($oldname);
/*add the extension of file that you will rename it */
rename($oldname, ($newName.'.css'));
}
我正在尝试更改文件夹中的每个文件名,例如,如果文件名是 style.css,我想将其重命名为 style_[md5 value of style].css
= style_a1b01e734b573fca08eb1a65e6df9a38.css
这是我试过的方法
if ($handle = opendir("D:/web/htdocs/extra/css/")) {
while (false !== ($fileName = readdir($handle))) {
$path_parts = pathinfo($fileName);
$newName = md5($path_parts['filename']);
rename($fileName, $newName);
}
closedir($handle);
}
我哪里错了?
错误是
Access is denied. (code: 5)
The system cannot find the file specified. (code: 2)
不确定在 windows 上会发生同样的情况,但在 GNU 上……
如果你打印出你打算做什么而不是直截了当地尝试,你会发现一些缺陷:
rename( ., d41d8cd98f00b204e9800998ecf8427e)
rename( .., 5058f1af8388633f609cadb75a75dc9d)
当例如正在做:
echo ("rename( ".$fileName.", ".$newName.")\n");
- 接下来要检查的可能是更改文件的权限……
// DS to print \ the split between folder
define('DS',DIRECTORY_SEPARATOR);
// APP_PATH to get application path on the the server
define('APP_PATH',__DIR__.DS);
$oldname = APP_PATH.'css'.DS.'style.css';
/*
when you echo $oldname ,you will get the complete path of file
*/
// check the file is exists or No
if (file_exists($oldname)) {
$newName = md5($oldname);
/*add the extension of file that you will rename it */
rename($oldname, ($newName.'.css'));
}