无法使用apache查看本地图像

时间:2012-05-29 03:17:36

标签: php apache

我在mac osx10.6.8上。我正在使用XAMPP。我通过输入localhost / index.php等运行firefox所有脚本。所有脚本都运行,到目前为止我写的所有内容都运行良好。

现在,我可以浏览我的文件夹并上传图片了。它将成功保存并重命名图像并将其存储在我的htdocs文件夹中。问题是当我尝试显示刚刚保存的图像时。

我有以下代码:

<img src="file:///applications/XAMPP/xamppfiles/htdocs/Images/1921304523pvyNZ.jpg">

如果我在地址栏中输入file:///applications/XAMPP/xamppfiles/htdocs/Images/1921304523pvyNZ.jpg,则会出现图片。但是当我尝试使用img src时,只会显示一个损坏的图像。当我点击获取该损坏图像的信息时,它会给我确切的地址,甚至可以在“媒体预览”中显示图像。为什么,那么它不会在网站上显示出来吗?

2 个答案:

答案 0 :(得分:4)

而不是file://,使用http://localhost/path/to/image/ ..然后图像将通过xampp而不是文件系统提供。我希望这是您浏览器的安全功能,而不是混合文件系统和http服务内容。

在您的情况下,您可能需要http://localhost/Images/1921304523pvyNZ.jpg

另外,确保'Images'确实有一个大写'I'。在OSX上没什么大不了的,但是如果你在Linux / UNIX服务器上部署的话。

正如Fabricio指出的那样,您可以/应该相对地引用图像,并使您的Web应用程序易于部署。因此,如果您要显示http://localhost/index.php,则图片路径仅为Images/xxxx.jpg

答案 1 :(得分:0)

我有类似的问题。我通过查看我的Xampp错误日志找到了问题。由于某种原因,我的图像文件权限非常有限。 -rx ------...我刚刚更改了文件权限,允许所有用户都能读取这些文件。在我看来只是一个注意事项,因为我很懒,其他人可能不同意,你可以给他们完全许可,如果它是在你自己的计算机上,即777.但在最佳实践中你应该只给文件安全所需的权限原因......

由于您使用的是Mac,因此可以使用chmod命令在终端中执行此操作 转到终端的文件目录。 cd /Applications/XAMP/xamppfiles/htdocs/.../images/

然后输入 chmod 644 yourfilename.extension

您可以使用ls -l

确认已更改

644应该给你-rw-r--r--这应该是非常安全的。