时间:2021-07-01 10:21:17 帮助过:16人阅读
为什么明明好几个文件夹呢 只echo出来一个a文件夹呢?而且a前面还有三个点 这是为什么?
$dir = "upload/";
if (is_dir($dir)){
if ($dh = opendir($dir)){
while (($file = readdir($dh))!= false){
if(is_dir($file)) {
echo $file;
}
}
closedir($dh);
}
}
为什么明明好几个文件夹呢 只echo出来一个a文件夹呢?而且a前面还有三个点 这是为什么?
$dir = "upload/";
if (is_dir($dir)){
if ($dh = opendir($dir)){
while (($file = readdir($dh))!= false){
if(is_dir($file)) {
echo $file;
}
}
closedir($dh);
}
}
is_dir($file)
的用法不对。
也许你想遍历 e:/www/project/public/upload, 但是$dir = "upload" 不一定你想要的地址。一般这里都是结合魔术变量处理的。例如
$base = __DIR__;
$dir = $base . '/upload';
echo $dir; //看看是不是这个目录
// if (is_dir($dir)) <- 这个判断没用,你自己要求遍历upload的,还检查一遍,不相信自己?如果要处理的话也应该这样做
if (! is_dir($dir)) {
//创建这个目录
}
$dh = opendir($dir);
while($file = readdir($dh)) {
if ($file === '.' || $file === '..') continue; //理由自己搜索,太基础了
if (is_dir($dir . '/' . $file)) { //要使用完整路径
echo $file;
}
}
建议多看一下PHP的手册,而不是书或者视频,或者顺序问题,要先看了手册再看书或者视频。这个东西在手册上有标准的例子。