1.php readdir()定义和用法
2.Linuxä¸Cè¯è¨ç¼ç¨ç¨çreaddir()å®ä¾
3.PHP删除目录及目录下所有文件的函d函方法详解
php readdir()定义和用法
php中的readdir()函数是一个重要的目录操作工具,它在处理目录遍历时发挥着关键作用。数源数使这个函数的函d函主要任务是当你通过opendir()函数打开了一个目录后,它会返回该目录中的数源数使下一个条目,这些条目通常代表文件或子目录的函d函iptv桌面管理源码名称。
函数的数源数使linuxhid键盘源码分析使用方法如下:readdir(dir_stream),其中,函d函dir_stream是数源数使必需的参数,它是函d函一个指向已经使用opendir()打开的目录的句柄。这个句柄就像是数源数使一个目录的“钥匙”,通过它,函d函readdir()可以获取目录中的数源数使内容。
当调用readdir()成功时,函d函源码商城英文 ec函数会返回一个字符串,数源数使这个字符串就是函d函目录中的下一个文件或子目录的名称。值得注意的是,返回的网络创业系统源码文件名是按照文件系统中固有的顺序排列的,也就是说,它们按照创建或修改时间、名称字母顺序等规则进行排序。
如果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');
>