我目前有一个while循环,应该读取给定目录,然后使用这些文件填充select元素。目前,select元素保持为空,但是如果我删除while循环,它将显示第一个选项。这段代码在我的本地计算机上工作正常,并且此错误仅在远程服务器上产生。谁能看到我可能会丢失的东西吗?
代码:
$path="files/Sales 101/module 1/";
$current_dir = $path;
$dir = opendir($current_dir);
while($file=readdir($dir)){
$filepath = $current_dir.$file;
if($file == "." or $file == "..")
{
echo " ";
}
else
{
echo "<option value='$filepath'>$file</option>";
}
}
答案 0 :(得分:1)
根据php手册(http://php.net/manual/en/function.readdir.php),您应使用
while(false !== $dir && ($file=readdir($dir))){...
因为如果实际上opendir返回false,那么您将发生无限循环。 最终检查$ dir的类型可能会确认这一点。
答案 1 :(得分:-1)
我可以在本地和实时服务器操作系统上使用吗?是Linux还是Windows?
如果是Linux:
必须为'/'斜杠错误。您应为目录路径提供'\'。
EG:$path="files\Sales 101\module 1\";
如果是Windows:
尝试替换路径空格。
EG:$path="files/Sales_101/module_1/";