Php 循环未执行时读取目录
我目前有一个while循环,它应该读取给定的目录,然后用这些文件填充select元素。当前,select元素仍然为空,但是如果我删除while循环,它将显示第一个选项。此代码在我的本地计算机上运行良好,并且此错误仅在远程服务器上产生。其他人能看看我是否遗漏了什么吗 守则:Php 循环未执行时读取目录,php,Php,我目前有一个while循环,它应该读取给定的目录,然后用这些文件填充select元素。当前,select元素仍然为空,但是如果我删除while循环,它将显示第一个选项。此代码在我的本地计算机上运行良好,并且此错误仅在远程服务器上产生。其他人能看看我是否遗漏了什么吗 守则: $path="files/Sales 101/module 1/"; $current_dir = $path; $dir = opendir($current_dir); while($file=readdir($dir))
$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>";
}
}
$path=“文件/销售101/模块1/”;
$current_dir=$path;
$dir=opendir($current_dir);
而($file=readdir($dir)){
$filepath=$current_dir.$file;
如果($file==“”或$file==”))
{
回声“;
}
其他的
{
回显“$file”;
}
}
我可以为您提供本地和实时服务器操作系统吗?是linux还是windows
如果是Linux:
它必须是斜杠错误。您应该为目录的路径指定'\'。
例如:path=“files\Sales 101\module 1\”代码>
如果是Windows:
尝试替换路径的空格
例如:$path=“files/Sales_101/module_1/”根据您应该使用的php手册()编写代码>
while(false !== $dir && ($file=readdir($dir))){...
因为如果它实际上opendir返回false,那么您将有一个有限循环。
最后,检查$dir的类型可能会确认这一点。检查两台服务器上的文件夹结构是否相同。确实如此。$path
中指定的目录是否确实包含服务器上的文件?是的,据我所知,这两台服务器上的文件夹结构是相同的。无论是在结构上还是其中包含的文件上,请只阅读手册中的第一个示例,因为您会对手册中的内容感到惊讶。我已经阅读了手册中的示例并相应地调整了代码,但是,这只会导致页面无休止地加载(仅在远程服务器上。所有内容仍在本地工作)PHP在内部对此进行分类。无论OSlive的目标服务器是linux,都应该使用unix/
。将“/”替换为“\”会得到相同的结果。