加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

PHP删除文件与文件夹的两种方法

发布时间:2020-05-25 02:29:23 所属栏目:PHP 来源:互联网
导读:php删除指定目录下的文件夹和文件-用PHP怎么删除某目录下指定的一个文件夹和文件?本文章向大家介绍PHP删除文件与文件夹的几种方法,需要的朋友可以参考一下。

有时候我们需要用PHP来删除文件和文件夹,PHP本来也都有函数可以实现,下面简单记录一下代码,方便以后信守拈来。先看一下代码

/**

* 删除目录及目录下所有文件或删除指定文件

* @param str $path 待删除目录路径

* @param int $delDir 是否删除目录,1或true删除目录,0或false则只删除文件保留目录(包含子目录)

* @return bool 返回删除状态

*/

function delDirAndFile($path,$delDir = FALSE) {

$handle = opendir($path);

if ($handle) {

while (false !== ( $item = readdir($handle) )) {

if ($item != "." && $item != "..")

is_dir("$path/$item") ? delDirAndFile("$path/$item",$delDir) : unlink("$path/$item");

}

closedir($handle);

if ($delDir)

return rmdir($path);

}else {

if (file_exists($path)) {

return unlink($path);

} else {

return FALSE;

}

}

}

在看一个函数:

$dir = '你要删除的目录路径'; //如下:

//$dir = $_SERVER['DOCUMENT_ROOT'].'/cache';

rmdirs($dir);

//php删除指定目录下的的文件-用PHP怎么删除某目录下指定的一个文件?

function rmdirs($dir){

//error_reporting(0); 函数会返回一个状态,我用error_reporting(0)屏蔽掉输出

//rmdir函数会返回一个状态,我用@屏蔽掉输出

$dir_arr = scandir($dir);

foreach($dir_arr as $key=>$val){

if($val == '.' || $val == '..'){}

else {

if(is_dir($dir.'/'.$val))

{

if(@rmdir($dir.'/'.$val) == 'true'){} //去掉@您看看

else

rmdirs($dir.'/'.$val);

}

else

unlink($dir.'/'.$val);

}

}

}

?>

function deldir($dir) {

//先删除目录下的文件:

$dh=opendir($dir);

while ($file=readdir($dh)) {

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

$fullpath=$dir."/".$file;

if(!is_dir($fullpath)) {

unlink($fullpath);

} else {

deldir($fullpath);

}

}

}

closedir($dh);

//删除当前文件夹:

if(rmdir($dir)) {

return true;

} else {

return false;

}

}

?>

unlink() 函数用于删除文件。若成功,则返回 true,失败则返回 false。rmdir() 函数用于删除空的目录。它尝试删除 dir 所指定的目录。 该目录必须是空的,而且要有相应的权限。

一个实例:删除某个文件夹下的所有".svn"文件夹(包括其内容也要被删除)。

function delsvn($dir) {

$dh=opendir($dir);

//找出所有".svn" 的文件夹:

while ($file=readdir($dh)) {

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

$fullpath=$dir."/".$file;

if(is_dir($fullpath)) {

if($file==".svn"){

delsvndir($fullpath);

}else{

delsvn($fullpath);

}

}

}

}

closedir($dh);

}

function delsvndir($svndir){

//先删除目录下的文件:

$dh=opendir($svndir);

while($file=readdir($dh)){

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

$fullpath=$svndir."/".$file;

if(is_dir($fullpath)){

delsvndir($fullpath);

}else{

unlink($fullpath);

}

}

}

closedir($dh);

//删除目录文件夹

if(rmdir($svndir)){

return true;

}else{

return false;

}

}

$dir=dirname(__FILE__);

//echo $dir;

delsvn($dir);

?>

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读