0

我有代码读取用户(下面的用户 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  -- 
        }

这工作正常,但它似乎产生如下所示的访问错误:

在此处输入图像描述

我在做一些根本错误的事情吗?谢谢

4

3 回答 3

0

除非您的和文件夹index.php中有文件,否则您将发布一个越权文件夹,您没有足够的权限。3838/images

检查您的脚本路径和 JS 代码以修复它。

于 2013-10-31T23:07:02.303 回答
0

我明白了这一点。当图像目录被预取到页面时会发生这种情况:

while($fileName = readdir($dirHandle))  {
        $filepath = $dir . $fileName;
        echo ("<img class='galleryThumb' src='$filepath' >");
    }

当 $fileName 为 "." 时会出现问题。或者 ”..”。使用<img class='galleryThumb' src='$filepath' >Ajax 回显然后无法评估作为目录而不是文件的 src 属性。我通过添加对“。”的检查来修复它。和 ”..” :

while($fileName = readdir($dirHandle))  {
    if ($fileName == "." || $fileName == "..") {
    continue;
    }
    $filepath = $dir . $fileName;
    echo ("<img class='galleryThumb' src='$filepath' >");
}
于 2013-11-01T20:53:28.480 回答
-1

由于您从javascript调试器的网络面板中看到 403 错误,因此访问这些路径的是 javascript。您发布的php代码几乎与此无关。

于 2013-10-31T23:07:48.303 回答