在PHP中从文件夹目录中获取图片

时间:2014-11-16 13:52:58

标签: php

我的htdocs中有一个像这样设置的文件夹目录:

claas2 / TractorPics \ 5484474 \ Received \ =>

中的一堆图像

我使用php从存储文件路径的MySQL数据库中放入图片而不是所有图片,以便可以轻松更改。

php:

if ( $_REQUEST['rec_pic'] ) {
    $order_id = $_POST['rec_pic'];
    $sql = "SELECT * FROM `orders` WHERE `active` = '1' AND `order_id` = '$order_id'";
    $result = mysql_query($sql);
    while ($row = mysql_fetch_array($result)) {
        $dir = $row['rec_pic'];
        if ($handle = opendir($dir)) {
            while (false !== ($file = readdir($handle))) {
                echo "<div>";
                    echo "<a href='#'><img src='".$file."' /></a>";
                echo "</div>";
            }
            closedir($handle);
         }
     }
}

当我回应这个时,我得到一个错误,说该文件目录不存在,但如果我要在图像中执行src它工作得很好。我在这做错了什么?

获取请求的php文件位于目录

claas2 \分贝\ AJAX

1 个答案:

答案 0 :(得分:0)

你有一条相当混乱的道路:

claas2/TractorPics\5484474\Recieved\

尝试:

claas2\TractorPics\5484474\Recieved\

claas2/TractorPics/5484474/Recieved/

但不要混用分隔符。

修改

您正在将路径与网址混合。并且它的工作原理是因为您使用\作为路径段分隔符,在向网络服务器发送请求时您的浏览器将其转换为/,而您的服务器现在基于Windows,因此\无效作为服务器上文件系统的路径分隔符。做

$path = str_replace('\\', `/`, $pathFromDb);

并使用结果而不是现在使用的数据来自db。