【问题标题】:Getting Pictures from folder directory in PHP从 PHP 中的文件夹目录获取图片
【发布时间】:2014-11-16 13:52:58
【问题描述】:

我在我的 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\db\ajax

【问题讨论】:

  • “我在这里做错了什么?” – 您将文件系统路径与 URL 混淆了。

标签: php


【解决方案1】:

你的路很乱:

claas2/TractorPics\5484474\Recieved\

试试:

claas2\TractorPics\5484474\Recieved\

claas2/TractorPics/5484474/Recieved/

但不要混合分隔符。

编辑

您正在将路径与 URL 混合。它之所以有效,是因为您使用\ 作为路径段分隔符,您的浏览器在向网络服务器发送请求时将其转换为/,我猜您的服务器现在是基于Windows 的,因此\ 作为文件系统的路径分隔符无效在服务器上。做

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

并使用结果而不是您现在使用的数据库中的数据。

【讨论】:

  • 那没有让她完成哈哈,我想知道是否可能是我正在完成所有工作的 php 文件不在父目录中
  • 你使用的是相对路径,所以要注意,尤其是包含文件中的代码,有时可能会产生误导,导致路径不正确。构建完整路径并检查。如果它无效,请查看它的有效性并检查您做错了什么(或缺少诸如../ 等内容)。
  • 并且工作正常,当我从我的数据库中提取它是 TractorPics\5484474\Recieved\ 但它告诉我目录确实不存在
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-28
  • 2012-07-31
  • 2019-03-05
  • 1970-01-01
相关资源
最近更新 更多