本文目录一览:
- 1、php删除一个路径下的所有文件夹和文件的方法
- 2、php怎么删除文件夹和文件夹下的所有文件
- 3、PHP 删除目录下的文件
- 4、PHP unlink与rmdir删除目录及目录下所有文件实例代码
- 5、用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($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);
}
}
具体的还要你自己稍加修改,希望可以帮到你。
PHP 删除目录下的文件
PHP删除指定目录下的文件示例:
?php
//定义删除文件函数
function deleteFile($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 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/$itembr
/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($i2){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/$itembr
/n”;
}
}
}
closedir(
$handle
);
if(
rmdir(
$dirName
)
)echo
“成功删除目录:
$dirNamebr
/n”;
}
}
//假设需要删除一个名叫”upload”的同级目录即此目录下的所有文件,你可以通过以下代码完成:
delDirAndFile(
‘upload');
?
总结
以上所述是小编给大家介绍的PHP
unlink与rmdir删除目录及目录下所有文件实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
用PHP如何删除指定的文件?
php中删除文件有一个系统函数:\x0d\x0aunlink ( string $filename );\x0d\x0a参数$filename 表示文件的路径,可以是相对路径也可以是绝对路径。\x0d\x0a列如,当前目录下有个文件:test.html\x0d\x0a可以执行 unlink ( 'test.html' );来删除\x0d\x0a另外删除目录用函数:rmdir();用法与unlink ()相同