php递归复制文件和目录,该如何解决
程序员文章站
2022-04-07 08:00:48
...
php递归复制文件和目录
function del($path){
$handle = opendir($path);
readdir($handle);
readdir($handle); while(false !== ($file = readdir($handle))){
$file = $path."/".$file;
if(is_dir($file)){
del($file);
}else{
if(unlink($file)){
echo "文件".$file."成功"."\r\n";
}else{
echo "文件".$file."失败"."\r\n";
}
}
}
closedir($handle);
if(rmdir($path)){
echo "目录".$path."删除成功"."\r\n";
}else{
echo "目录".$path."删除失败"."\r\n";
}
}
del('d:/123');
?>
为什么用两次readdir($handle);?求解,详细点,用一次为什么出错?
------解决方案--------------------
一个目录下有两个特殊目录 . 和 .. ,代表本目录和上级目录,这两个readdir($handle)就是把这个两特殊目录读取后不用来跳过,这样才能正确操作指定目录下的文件和子目录的。
function del($path){
$handle = opendir($path);
readdir($handle);
readdir($handle); while(false !== ($file = readdir($handle))){
$file = $path."/".$file;
if(is_dir($file)){
del($file);
}else{
if(unlink($file)){
echo "文件".$file."成功"."\r\n";
}else{
echo "文件".$file."失败"."\r\n";
}
}
}
closedir($handle);
if(rmdir($path)){
echo "目录".$path."删除成功"."\r\n";
}else{
echo "目录".$path."删除失败"."\r\n";
}
}
del('d:/123');
?>
为什么用两次readdir($handle);?求解,详细点,用一次为什么出错?
------解决方案--------------------
一个目录下有两个特殊目录 . 和 .. ,代表本目录和上级目录,这两个readdir($handle)就是把这个两特殊目录读取后不用来跳过,这样才能正确操作指定目录下的文件和子目录的。
相关文章
相关视频
推荐阅读
-
php通过递归方式复制目录和子目录的方法
-
php递归列出所有文件和目录的代码
-
php获取目录下面的图片名称,该如何解决
-
php如何查看目录信息 php自定义函数复制与删除目录文件
-
apache+MySQL+php,把phpmyadmin放到htdocs根目录下,在地址栏中输入http://localhost/phpMyAdmin,该如何解决
-
php获取目录下面的图片名称,该如何解决
-
php 上传的时候,在没用move_uploaded_file 函数时,文件是滞已经被上专,该如何解决
-
PHP如何复制文件夹下的某些目录
-
安装php5.3之后发现php文件夹下没有php5apache2.dll,于是安装php5.2,发现也没有,该如何解决
-
php 视频、音频和图片文件上传,该如何解决