网上使用php的readdir读取目录的通用程序如下:
$handle=opendir(目录);
while($file=readdir($handle))
{
//进行相关处理
echo $file;
}
closedir($handle);
使用该程序扫描邮件系统,发现程序不能正常工作。
相关目录下建立了散列目录0,1,2,... ,F,程序显示.和..目录就退出了。
几经调试才恍然大悟,在读取0目录时,php将"0"转换成0,while条件为false。
因此正确的写法是:
while(($file=readdir($handle))!==false)