我有代码读取用户的图像目录(下面的用户38)并返回文件名数组,跳过。和..参考。
// $dir = 38/images
$dirHandle = opendir($dir)$dirHandle = opendir($dir)
while (false !== ($fileName = readdir($dirHandle))) {
if ($fileName == "." || $fileName == "..")
continue;
-- Put file on array which gets returned to ajax load call at end --
}
这样可以正常工作但似乎会产生如下所示的访问错误:
我做了一些根本错误的事吗? 感谢
答案 0 :(得分:0)
除非您的index.php
和38
文件夹中有38/images
个文件,否则您将发布一个文件夹,在该文件夹上您没有足够的权限。
检查您的脚本路径和JS代码以便修复它。
答案 1 :(得分:0)
我到底了。当图像目录被预取到页面时会发生这种情况:
while($fileName = readdir($dirHandle)) {
$filepath = $dir . $fileName;
echo ("<img class='galleryThumb' src='$filepath' >");
}
$ fileName为“。”时出现问题。要么 ”..”。使用Ajax回显的<img class='galleryThumb' src='$filepath' >
无法评估src属性,该属性是目录而不是文件。我通过添加“。”检查来修复它。和“......”:
while($fileName = readdir($dirHandle)) {
if ($fileName == "." || $fileName == "..") {
continue;
}
$filepath = $dir . $fileName;
echo ("<img class='galleryThumb' src='$filepath' >");
}
答案 2 :(得分:-1)
由于您从 javascript 调试程序的网络面板中看到403错误,因此正在访问这些路径的是javascript。您发布的 php 代码几乎与此无关。