【问题标题】:Image cannot be display after uploading图片上传后无法显示
【发布时间】:2015-06-01 03:46:22
【问题描述】:

以前,当我尝试将图像上传到数据库时,图像不会显示。当我检查数据库和文件夹中的路径时,它是正确的。

数据库和文件夹中的正确路径。

然后当我试图查看已上传的图像时,它说我没有查看它的权限。

我也尝试上传不同的照片扩展程序和不同的照片查看器应用程序,但我仍然无法查看图像。除此之外,我尝试过 W3School PHP5 File Upload. 再次发生同样的事情,我无法查看我的图像。

这是我的代码:

if (!isset($_FILES['image']['tmp_name'])) 
{
    echo "";
}
else
{
    $file=$_FILES['image']['tmp_name']; 
    $location= $_SERVER['DOCUMENT_ROOT'] . '/ehars/photo/' . $_FILES["image"]["name"];
    move_uploaded_file($_FILES["image"]["tmp_name"], $_SERVER['DOCUMENT_ROOT'] . '/ehars/photo/' . $_FILES["image"]["name"]);
    mysql_query("INSERT INTO photo (location,emp_id) VALUES ('$location','$emp_id')");                  
}

为什么我看不到我的图片?是因为文档根目录吗?或者是别的什么?请帮帮我,谢谢。

更新:

根据下图,我的代码(如上图)位于 admin 文件夹中。我想将图像保存在 /ehars/photos 中的原因,以便每个级别的用户 admin admin2user 都可以查看已上传的同一张照片。如果你能告诉我什么是最好的方法来实现我的上述目标。再次感谢!

【问题讨论】:

  • 服务器上设置了哪些权限?
  • @Huey 抱歉,但我是新手,那么服务器上设置的权限是什么意思?
  • @Huey 你应该从不需要 755。444 是静态内容应该需要的最广泛的权限。访问它的脚本可能需要 644 以便它可以读取/写入文件位置,但仅此而已。图像不需要执行权:如果它们是使用图像扩展上传的脚本,则执行权是保证您最终会得到一个受损系统的最佳方式。

标签: php image


【解决方案1】:

如果您的 URL 方案不是“file://”,您应该授权您的浏览器。 我记得由于安全原因,您不能轻松地将 CSS 和图像链接到本地​​计算机。

【讨论】:

    【解决方案2】:

    把你的代码改成这个

    if (!isset($_FILES['image']['tmp_name'])) 
    {
        echo "";
    }
    else
    {
        $file=$_FILES['image']['tmp_name']; 
        $location='/ehars/photo/' . $_FILES["image"]["name"]; //remove $_SERVER['DOCUMENT_ROOT']
        move_uploaded_file($_FILES["image"]["tmp_name"], '/ehars/photo/' . $_FILES["image"]["name"]); // remove $_SERVER['DOCUMENT_ROOT'] . 
        mysql_query("INSERT INTO photo (location,emp_id) VALUES ('$location','$emp_id')");                  
    }
    

    为什么你应该改变你的代码,因为你的服务器不会读取 Windows 路径 (c:/apache/htdocs/yourimagespath/yourimages.jpg);它应该是(/images/yourimages.jpg),我假设 htdocs 是你的根目录。并且您数据库中的结果是 /ehars/photo/yourimages.jpg 而不是 c:/apache/htdoc/ehars/photo/yourimages.jpg。

    希望对你有帮助。

    【讨论】:

    • 您好,先生,感谢您的帮助。我猜你所说的关于文件夹路径是正确的。我尝试在我的代码中删除 $SERVER['DOCUMENT_ROOT'] 。但是,我的文件夹照片中没有我上传的图像的图像。我已经更新了上面的问题,以帮助您更好地理解我的问题。再次感谢您!
    猜你喜欢
    • 2013-01-02
    • 2016-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-19
    • 2022-01-17
    • 2014-07-25
    相关资源
    最近更新 更多