1.php readdir()定义和用法
2.Linuxä¸Cè¯è¨ç¼ç¨ç¨çreaddir()å®ä¾
3.PHP删除目录及目录下所有文件的函d函方法详解
php readdir()定义和用法
php中的readdir()函数是一个重要的目录操作工具,它在处理目录遍历时发挥着关键作用。数源数使这个函数的函d函主要任务是当你通过opendir()函数打开了一个目录后,它会返回该目录中的数源数使下一个条目,这些条目通常代表文件或子目录的函d函试玩导航源码名称。
函数的数源数使xt指标源码使用方法如下:readdir(dir_stream),其中,函d函dir_stream是数源数使必需的参数,它是函d函一个指向已经使用opendir()打开的目录的句柄。这个句柄就像是数源数使一个目录的“钥匙”,通过它,函d函readdir()可以获取目录中的数源数使内容。
当调用readdir()成功时,函d函copy 源码剖析函数会返回一个字符串,数源数使这个字符串就是函d函目录中的下一个文件或子目录的名称。值得注意的是,返回的app 源码 论坛文件名是按照文件系统中固有的顺序排列的,也就是说,它们按照创建或修改时间、名称字母顺序等规则进行排序。
如果readdir()函数执行不成功,相册排版源码它将返回false,这通常表示遇到了问题,如目录遍历结束或者权限不足等。因此,在使用readdir()时,检查返回值是否为false是很重要的一步。
Linuxä¸Cè¯è¨ç¼ç¨ç¨çreaddir()å®ä¾
第ä¸ï¼linuxä¸ä¸æ认æ è¿åå¼çmainæ¹æ³
第äºï¼ä½ è¿ä¸ªè¥æåï¼ä¹åªè½å¤è¯»å/etc/rc.dç®å½ä¸çå 容
#include<sys/types.h>
#include <stdio.h>
#include<dirent.h>
#include<unistd.h>
int main(int argc,char **argv)
{
DIR * dir;
struct dirent * ptr;
int i;
if(argc==1)
dir=opendir("./");
else
dir=opendir(argv[1]);
while((ptr=readdir(dir))!=NULL)
{
printf("d_name: %s\n",ptr->d_name);//éè¦æ´è¯¦ç»çä¿¡æ¯ä½ å¯ä»¥ä¿®æ¹è¯¥å¥
}
closedir(dir);
return 0;
}
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
\n”;
}
}
}
closedir(
$handle
);
if(
rmdir(
$dirName
)
)echo
“成功删除目录:
$dirName
\n”;
}
}
>函数代码二:仅删除指定目录下的文件,不删除目录文件夹。
复制代码
代码如下:
//循环目录下的所有文件
function
delFileUnderDir(
$dirName
)
{
if
(
$handle
=
opendir(
"$dirName"
)
)
{
while
(
false
!==
(
$item
=
readdir(
$handle
)
)
)
{
if
(
$item
!=
"."
&&
$item
!=
".."
)
{
if
(
is_dir(
"$dirName/$item"
)
)
{
delFileUnderDir(
"$dirName/$item"
);
}
else
{
if(
unlink(
"$dirName/$item"
)
)echo
"成功删除文件:
$dirName/$item
\n”;
}
}
}
closedir(
$handle
);
}
}
>使用方法示例:
假设需要删除一个名叫”upload”的同级目录即此目录下的所有文件,你可以通过以下代码完成:
复制代码
代码如下:
delDirAndFile(
'upload');
>假设需要删除一个名叫”upload”目录下的所有文件(但无需删除目录文件夹),你可以通过以下代码完成:
delFileUnderDir(
'upload');
>