以前,当我尝试将图片上传到数据库时,图片不会显示。当我检查数据库和文件夹中的路径时,它是正确的。
修正db和文件夹中的路径。
然后,当我尝试查看已上传的图片时,表示我没有权限查看该图片。
我也尝试上传不同的照片扩展程序和不同的照片查看器应用程序,我仍然无法查看图像。除此之外,我试过了 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 admin2 和用户都可以查看已上传的相同照片。如果您能告诉我,为了实现上述目标,最好的方法是什么。再次感谢!
答案 0 :(得分:1)
如果您的网址方案不是" file://",您应该授权您的浏览器。 我记得由于安全原因,您无法轻松地将CSS和图像链接到本地计算机。
答案 1 :(得分:1)
将您的代码更改为此
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')");
}
为什么tou应该改变你的代码,因为你的服务器不会读取windows路径(c:/apache/htdocs/yourimagespath/yourimages.jpg);它应该读(/images/yourimages.jpg),我认为htdocs是你的根目录。数据库中的结果是/ehars/photo/yourimages.jpg而不是c:/apache/htdoc/ehars/photo/yourimages.jpg。
希望对你有所帮助。