㈠ php删除指定目录中的所有目录及文件的方法
本文实例讲述了PHP删除指定目录中的所有目录及文件的方法。分享给大家供大家参考。具体实现方法如下:
<?php
/*
*
*
删除指定目录中的所有目录及文件(或者指定文件)
*
可扩展增加一些选项(如是否删除原目录等)
*
删除文件敏感操作谨慎使用
*
@param
$dir
目录路径
*
@param
array
$file_type指定文件类型
*/
function
delFile($dir,$file_type='')
{
if(is_dir($dir)){
$files
=
scandir($dir);
//打开目录
//列出目录中的所有文件并去掉
.
和
..
foreach($files
as
$filename){
if($filename!='.'
&&
$filename!='..'){
if(!is_dir($dir.'/'.$filename)){
if(empty($file_type)){
unlink($dir.'/'.$filename);
}else{
if(is_array($file_type)){
//正则匹配指定文件
if(preg_match($file_type[0],$filename)){
unlink($dir.'/'.$filename);
}
}else{
//指定包含某些字符串的文件
if(false!=stristr($filename,$file_type)){
unlink($dir.'/'.$filename);
}
}
}
}else{
delFile($dir.'/'.$filename);
rmdir($dir.'/'.$filename);
}
}
}
}else{
if(file_exists($dir))
unlink($dir);
}
}
delFile(dirname(__FILE__),'html');
希望本文所述对大家的php程序设计有所帮助。
㈡ php删除一个路径下的所有文件夹和文件的方法
php遍历一个文件夹内的所有文件和文件夹,并删除所有文件夹和子文件夹下的所有文件的代码,通过递归方式实现达到清空一个目录的效果,代码简单实用。
也适合在thinkphp中清理缓存,在thinkphp中可以把下面代码写入./Application/Admin/Common/function.php文件中,再在控制器调用这个函数进行清理操作。
用到的函数:
scandir($path)
遍历一个文件夹所有文件并返回数组。
unlink($filename)
删除文件。
rmdir($path)
只删除空文件夹
<?php
//设置需要删除的文件夹
$path
=
"./Application/Runtime/";
//清空文件夹函数和清空文件夹后删除空文件夹函数的处理
function
deldir($path){
//如果是目录则继续
if(is_dir($path)){
//扫描一个文件夹内的所有文件夹和文件并返回数组
$p
=
scandir($path);
foreach($p
as
$val){
//排除目录中的.和..
if($val
!="."
&&
$val
!=".."){
//如果是目录则递归子目录,继续操作
if(is_dir($path.$val)){
//子目录中操作删除文件夹和文件
deldir($path.$val.'/');
//目录清空后删除空文件夹
@rmdir($path.$val.'/');
}else{
//如果是文件直接删除
unlink($path.$val);
}
}
}
}
}
//调用函数,传入路径
deldir($path);
总结
以上所述是小编给大家介绍的php删除一个路径下的所有文件夹和文件的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
您可能感兴趣的文章:PHP循环输出指定目录下的所有文件和文件夹路径例子(简单实用)php获取文件夹路径内的图片以及分页显示示例PHP获取文件相对路径的方法查找php配置文件php.ini所在路径的二种方法
㈢ 如何删除文件夹下的文件 php
unlink($filename);//必选参数$filename(需要删除的文件名)
$filename='./test.txt';
if(unlink($filename)){
echo'File:'.$filename.'DeleteSuccess';
}else{
echo'File:'.$filename.'DeleteFail';
}
//该函数返回布尔值true/false
㈣ php删除文件夹及其文件夹下所有文件
有时候我们需要用php删除文件夹及其文件夹下所有文件,那么就可以使用下面的代码了,需要的朋友可以参考下。根据自身要求添加功能
代码如下:
<?
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;
}
}
?>
实例:
删除某个文件夹下的所有“.svn”文件夹(包括其内容也要被删除).
<?php
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);
?>
㈤ php 怎样删除文件夹下的文件
自己写个函数就行了
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;
}
}
㈥ PHP 删除目录下的文件
PHP删除指定目录下的文件示例:
<?php
//定义删除文件函数
functiondeleteFile($dirName){
//判断是否为有效句柄
if($handle=opendir($dirName)){
//循环打开的句柄条目(打开成功,则返回文件名;打开失败,则返回false)
while(false!==($item=readdir($handle))){
if($item!="."&&$item!=".."){
//判断是否为目录
if(is_dir($dirName."/".$item)){
//递归删除
deleteFile($dirName."/".$item);
}else{
if(unlink($dirName."/".$item)){
echo"成功删除{$dirName}文件夹下的{$item}文件<br/>";
}
}
}
}
//关闭打开的句柄
closedir($handle);
}
}
//测试【testFile目录下有NewFile.html】
deleteFile("testFile");
//成功删除testFile文件夹下的NewFile.html文件
?>
㈦ php怎样删除目录及其目录下的所有文件
对于一个不是空的目录丹但要删除它怎么办?思路是先必须将该目录下的子文件都删除,让它变成一个空目录,然后再用rmdir()函数删除即可。而该目录下的子目录如果不是空也要用这样的方法来删除才行。 php删除目录代码示例精简、稳定、调用方便,支持多级目录删除,代码如下:<?php//删除目录函数 function del_dir($DelPath){ $wm_chief = new del_directory(); $wm_chief_ok = $wm_chief -> wm_chief_delpath($DelPath); return $wm_chief_ok;}//删除目录class del_directory{ function wm_chief_delpath($del_path){ if(!file_exists($del_path)){ //目标目录不存在则建立 echo "Directory not found."; return false;}$hand = @opendir($del_path);$i = 0;while($file = @readdir($hand)){$i++;if($file!="." && $file!=".."){//目录 if(is_dir($del_path."/".$file)){ $del_s_path = $del_path."/".$file; $this -> wm_chief_delpath($del_s_path);}else{$del_file = $del_path."/".$file; $this -> wm_chief_file($del_file);}}}@closedir($hand); >
㈧ PHP删除指定目录下的所有文件(保留目录)
<?php
$dir='cache/templates';//要删除的目录
$Dir=opendir($dir)ordie('打开目录失败');//打开目录
while($file=readdir($Dir)!==flse){//循环读取目录中
if($file!='.'&&$file!='..'){
unlink($dir.'/'.$file);//删除文件
}
}
㈨ 怎么实现php代码删除一个文件夹里面的全部文件
/*
++
函数名:removeDir()
++
功
能:删除目录和其下所有自目录和文件
++
使
用:removeDir($dirName)
++
参
数:$dirName
要删除的目录名
++
lmhllr
2006-04-25
lmhllr#163.com
*/
function
removeDir(
$dirName
)
{
if
(
$handle
=
opendir(
"$dirName"
)
)
{
while
(
false
!==
(
$item
=
readdir(
$handle
)
)
)
{
if
(
$item
!=
"."
&&
$item
!=
".."
)
{
if
(
is_dir(
"$dirName/$item"
)
)
{
removeDir(
"$dirName/$item"
);
}
else
{
if(
unlink(
"$dirName/$item"
)
)echo
"成功删除文件:
$dirName/$item<br
/>\n";
}
}
}
closedir(
$handle
);
if(
rmdir(
$dirName
)
)echo
"成功删除目录:
$dirName<br
/>\n";
}
}