最近我将机器的操作系统从Windows更改为Linux,但现在我的PHP应用程序似乎无法在新机器中运行opendir()
功能。下面是我的代码:
public function scandirs($dir){
$listDir = array();
if($handler = @opendir($dir)) {
while (($sub = readdir($handler)) !== FALSE) {
if ($sub != "." && $sub != ".." && $sub != "Thumb.db") {
if(is_file($dir."/".$sub)) {
$listDir[] = $dir.'\'.$sub;
}
elseif(is_dir($dir."/".$sub)){
$listDir[$sub] = scandirs($dir."\".$sub);
}
}
}
closedir($handler);
}
return $listDir;
}
如果我执行var_dump(opendir($dir));
它只会返回一个假。
编辑
我需要补充一点,我正在从 Linux 终端运行文件。
这可能是目录权限问题。检查您尝试打开的目录的权限。文件权限和文件路径是我们在将 php 应用程序从 Windows 切换到 Linux 环境时面临的两个常见问题。