Linux下PHP删除一个目录下所有文件夹和子目录

Linux下PHP删除一个目录下所有文件夹和子目录,第1张

我们在Linux下PHP删除一个目录下所有文件夹和子目录的方法大至如下

<?php

function removeDir($dirName)

{

if(! is_dir($dirName))

{

@unlink($dirName)

return false

}

$handle = @opendir($dirName)

while(($file = @readdir($handle)) !== false)

{

if($file != &&$file != )

{

$dir = $dirName / $file

is_dir($dir) ? removeDir($dir) : @unlink($dir)

}

}

closedir($handle)

return rmdir($dirName)

}

$dirName = bmz_cache

removeDir($dirName )

lishixinzhi/Article/program/PHP/201311/20778

正常的思路来说,先循环删除文件夹下的所有文件,当没有文件时再删除文件夹,如果你要删除文件夹和所有文件直接本地删除就好了,但是一般没有这种 *** 作。删除文件可以用unlink($filepath)函数,$filepath是文件路径,然后还有一个封装函数rm_empty_dir($path)删除所有空目录:

/** 删除所有空目录

* @param String $path 目录路径

*/

function rm_empty_dir($path){

if(is_dir($path) &&($handle = opendir($path))!==false){

while(($file=readdir($handle))!==false){// 遍历文件夹

if($file!='.' &&$file!='..'){

$curfile = $path.'/'.$file// 当前目录

if(is_dir($curfile)){// 目录

rm_empty_dir($curfile)// 如果是目录则继续遍历

if(count(scandir($curfile))==2){//目录为空,=2是因为.和..存在

rmdir($curfile)// 删除空目录

}

}

}

}

closedir($handle)

}

}

具体的还要你自己稍加修改,希望可以帮到你。

1. 写入:

<?php 

$filename = "Test//file.txt" 

$file = fopen($filename, "w") //以写模式打开文件 

fwrite($file, "Hello, world!/n") //写入第一行 

fwrite($file, "This is a test!/n") //写入第二行 

fclose($file) //关闭文件 

?>

2. 删除:

<?php 

$filename = "Test//file.txt" 

unlink($filename) //删除文件 

?>

3.复制:

<?php $filename1 = "Test//file.txt" $filename2 = "Test//file.bak" copy($filename1, $filename2) //复制文件 ?>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11573163.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存