重命名目录中的所有文件时前两个文件的警告 5 和 32
Warnings 5 and 32 on first two files while renaming all files in a directory
我做了一个简单的图像重命名应用程序。它在每个图像名称后连续添加一个数字以区分它们。但问题是,当这个 PHP 应用程序运行时,我收到两个警告,我认为因此 $i
值以 3 开头,例如图像 3、图像 4……
但我希望它以 1 开头。如图像 1、图像 2……
我得到的警告是
所以我的问题是:
为什么会产生这些警告?
如何在不收到任何警告的情况下执行此 PHP 代码?
$目录='c:/xampp/htdocs/practice/haha/';
echo getcwd().'';
$i=1;
如果(is_dir($dir)){
echo 目录名($dir);
$file=opendir($dir);
while(($data=readdir($file))!==false){
$info=pathinfo($data,PATHINFO_EXTENSION);
echo $data;
//echo pathinfo($data,PATHINFO_BASENAME).'</br>';
//echo basename(pathinfo($data,PATHINFO_BASENAME),'.jpg').'</br>';
rename($dir.$data,$dir.'mat '.$i.'.jpg');
echo $i.'</br>';
$i++;
}
}
从循环中排除隐含的 .
和 ..
自动目录条目,因为它们无论如何都不能重命名。这就是错误的来源; .
(当前目录)当然在您自己的代码中使用,并且 ..
(parent 目录)在 child 打开时无法重命名。
我做了一个简单的图像重命名应用程序。它在每个图像名称后连续添加一个数字以区分它们。但问题是,当这个 PHP 应用程序运行时,我收到两个警告,我认为因此 $i
值以 3 开头,例如图像 3、图像 4……
我得到的警告是
所以我的问题是:
为什么会产生这些警告?
如何在不收到任何警告的情况下执行此 PHP 代码?
$目录='c:/xampp/htdocs/practice/haha/'; echo getcwd().''; $i=1; 如果(is_dir($dir)){ echo 目录名($dir); $file=opendir($dir);
while(($data=readdir($file))!==false){ $info=pathinfo($data,PATHINFO_EXTENSION); echo $data; //echo pathinfo($data,PATHINFO_BASENAME).'</br>'; //echo basename(pathinfo($data,PATHINFO_BASENAME),'.jpg').'</br>'; rename($dir.$data,$dir.'mat '.$i.'.jpg'); echo $i.'</br>'; $i++; }
}
从循环中排除隐含的 .
和 ..
自动目录条目,因为它们无论如何都不能重命名。这就是错误的来源; .
(当前目录)当然在您自己的代码中使用,并且 ..
(parent 目录)在 child 打开时无法重命名。