有时候我们需要用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);
?>
2. php怎么删除某一目录下的指定文件类型
php中删除文件有一个系统函数:
unlink ( string $filename );
参数$filename 表示文件的路径,可以是相对路径也可以是绝对路径。
列如,当前目录下有个文件:test.html
可以执行 unlink ( 'test.html' );来删除
另外删除目录用函数:rmdir();用法与unlink ()相同
你可以去后盾人平台看看,里面的视频对你是很有帮助的
3. 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程序设计有所帮助。
4. 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所在路径的二种方法
5. PHP怎么删除某目录下指定的一个文件
php中删除文件有一个系统函数:x0dx0aunlink ( string $filename );x0dx0a参数$filename 表示文件的路径,可以是相对路径也可以是绝对路径。x0dx0a列如,当前目录下有个文件:test.htmlx0dx0a可以执行 unlink ( 'test.html);来删除x0dx0a另外删除目录用函数:rmdir();用法与unlink ()相同
6. 如何完全删除或卸载PHPnow PHP环境配置包
PHPnow是PHP平台很方便的搭建工具聚,但俗话说的好,轻声容易送神难。
PHPnow不是常规的安装软件,所以他没有像一般安装在Windows下的软件中一样的卸载程序。
如果用户直接把他的安装目录删除,系统是拒绝的。
有些朋友可能使用phpnow久了,觉得它有庞大,于是乎卸载phpnow,这里分享一下phpnow卸载方法:
先看看官方的使用说明:
如果装有同类软件,请先停止或卸载,否则会占端口!请关闭迅雷,或修改迅雷的 BT 端口!
解压:解压到任意目录;(不能含有中文!例如 "桌面")
安装:运行 Setup.cmd 根据向导进行初始化;
使用:.\htdocs 为网站主目录。执行 PnCp.cmd 进行设置或管理。
注意:执行 Stop.cmd 即已经卸载。请执行 Stop.cmd 后再删除文件。
官方给出phpnow卸载方法就是执行Stop.cmd,然后删除安装目录所有文件。当然,你的网站数据备份,要先复制到其他盘里。
也有网友说,进入 PnCmds 目录下,执行 “绝对强制卸载.cmd” 即可卸载,显然此方法执行后,也要手动删除phpnow安装目录文件。
下面是其它补充:
在之前的《如何在Windows平台下搭建PHP环境(图解版)》一文中已经对如何安装PHPnow有了详细的阐述。
本文是接该文的内容,来介绍如何删除这个软件。用户在文件管理器中如果直接删除安装的文件夹。
软件计算机系统就会出现上面的警告信息。
这是由于PHPnow的服务没有被停止,所以计算机拒绝删除这个文件夹。
用户可以找到这个文件夹后打开。在前文中,笔者是把这个软件安装在“E:\webtestshopex”目录下的。
我们可以看到在该目录下面有个“PnCp.cmd”文件。请双击运行这个文件。
此时计算机会弹出一个DOS对话框,这个就是PHPnow的控制面板对话框。
此时系统提示你可以对这个软件进行多种操作。
由于我们需要删除这个软件,此时用户可以直接在这个对话框中输入“33”后按回车键继续。
有关“33”这个数字的含义,控制面板上已经有了解释。
很快系统会显示上面的信息,此时软件已经终止了很多服务和进程。系统提示你按任意键继续。
之后计算机就会关闭这个DOS对话框。此时用户就可以删除安装目录了。
7. PHP unlink与rmdir删除目录及目录下所有文件实例代码
在php中删除文件与目录其实很简单只要两个函数一个是unlink一个rmdir函数,如果要实现删除目录及目录下的文件我们需要利用递归来操作.
函数代码:仅删除指定目录下的文件,不删除目录文件夹,代码如下:
class
shanchu
{
//循环目录下的所有文件
function
delFileUnderDir(
$dirName=”../Smarty/templates/templates_c”
)
{
if
(
$handle
=
opendir(
“$dirName”
)
)
{
while
(
false
!==
(
$item
=
readdir(
$handle
)
)
)
{
if
(
$item
!=
“.”
&&
$item
!=
“..”
)
{
if
(
is_dir(
“$dirName/$item”
)
)
{
delFileUnderDir(
“$dirName/$item”
);
}
else
{//开源代码phpfensi.com
if(
unlink(
“$dirName/$item”
)
)echo
“成功删除文件:
$dirName/$item<br
/>n”;
}
}
}
closedir(
$handle
);
}
}
}
假设需要删除一个名叫”upload”目录下的所有文件,但无需删除目录文件夹,你可以通过以下代码完成:
<?php
delFileUnderDir(
‘upload');?>
php删除所有目录,代码如下:
function
deltree($pathdir)
{
echo
$pathdir;//调试时用的
if(is_empty_dir($pathdir))//如果是空的
{
rmdir($pathdir);//直接删除
}
else
{//否则读这个目录,除了.和..外
$d=dir($pathdir);
while($a=$d->read())
{
if(is_file($pathdir.'/'.$a)
&&
($a!='.')
&&
($a!='..')){unlink($pathdir.'/'.$a);}
//如果是文件就直接删除
if(is_dir($pathdir.'/'.$a)
&&
($a!='.')
&&
($a!='..'))
{//如果是目录
if(!is_empty_dir($pathdir.'/'.$a))//是否为空
{//如果不是,调用自身,不过是原来的路径+他下级的目录名
deltree($pathdir.'/'.$a);
}
if(is_empty_dir($pathdir.'/'.$a))
{//如果是空就直接删除
rmdir($pathdir.'/'.$a);
}
}
}
$d->close();
echo
"必须先删除目录下的所有文件";//我调试时用的
}
}
function
is_empty_dir($pathdir)
{
//判断目录是否为空
$d=opendir($pathdir);
$i=0;
while($a=readdir($d))
{
$i++;
}
closedir($d);
if($i>2){return
false;}
else
return
true;
}
PHP删除目录及目录下所有文件,代码如下:
<?php
//循环删除目录和文件函数
function
delDirAndFile(
$dirName
)
{
if
(
$handle
=
opendir(
“$dirName”
)
)
{
while
(
false
!==
(
$item
=
readdir(
$handle
)
)
)
{
if
(
$item
!=
“.”
&&
$item
!=
“..”
)
{
if
(
is_dir(
“$dirName/$item”
)
)
{
delDirAndFile(
“$dirName/$item”
);
}
else
{
if(
unlink(
“$dirName/$item”
)
)echo
“成功删除文件:
$dirName/$item<br
/>n”;
}
}
}
closedir(
$handle
);
if(
rmdir(
$dirName
)
)echo
“成功删除目录:
$dirName<br
/>n”;
}
}
//假设需要删除一个名叫”upload”的同级目录即此目录下的所有文件,你可以通过以下代码完成:
delDirAndFile(
‘upload');
?>
总结
以上所述是小编给大家介绍的PHP
unlink与rmdir删除目录及目录下所有文件实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
8. php空间中有文件和文件夹删不掉怎么办
使用你服务商给你的用户名密码
使用ssh
登陆(例如使用putty)
使用命令删除
不要的文件夹以及文件(rm
-rf
文件名或文件夹名)
如果不能删除查看
文件的所有者(ls
-lat)
如果文件的主组是http你可以使用PHP程序删除文件
如果不是
HTTP
也
不是你的用户名
那么你需要联系服务商
请求删除
9. PHP删除指定目录下的所有文件(保留目录)
<?php
$dir='cache/templates';//要删除的目录
$Dir=opendir($dir)ordie('打开目录失败');//打开目录
while($file=readdir($Dir)!==flse){//循环读取目录中
if($file!='.'&&$file!='..'){
unlink($dir.'/'.$file);//删除文件
}
}