Php Can';t使用apache查看本地图像

Php Can';t使用apache查看本地图像,php,apache,Php,Apache,我使用的是mac osx10.6.8。我正在使用XAMPP。我在firefox中输入localhost/index.php等来运行我的所有脚本。所有脚本都在运行,到目前为止我编写的所有脚本都运行良好 现在,我可以浏览我的文件夹和上传图片。它将成功保存和重命名图像,并将其存储在我的htdocs文件夹中。问题是当我试图显示刚刚保存的图像时 我有以下代码: <img src="file:///applications/XAMPP/xamppfiles/htdocs/Images/19213045

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

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

我有以下代码:

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


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

使用
http://localhost/path/to/image/
。。然后,映像将通过xampp提供,而不是从文件系统提供。我希望这是浏览器的一个安全特性,而不是混合使用文件系统和http服务的内容

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

另外,确保“Images”确实有大写的“I”。在OSX上没有什么大不了的,但如果您部署在Linux/UNIX服务器上,则会有大不了的影响


正如Fabrico所指出的,您可以/应该相对地引用映像,并使web应用程序易于部署。因此,如果您正在显示
http://localhost/index.php
,图像路径只是
Images/xxxx.jpg

而不是
文件://
,请使用
http://localhost/path/to/image/
。。然后,映像将通过xampp提供,而不是从文件系统提供。我希望这是浏览器的一个安全特性,而不是混合使用文件系统和http服务的内容

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

另外,确保“Images”确实有大写的“I”。在OSX上没有什么大不了的,但如果您部署在Linux/UNIX服务器上,则会有大不了的影响


正如Fabrico所指出的,您可以/应该相对地引用映像,并使web应用程序易于部署。因此,如果您正在显示
http://localhost/index.php
,图像路径就是
Images/xxxx.jpg

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

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

然后输入
chmod 644 yourfilename.extension

您可以使用
ls-l


644应该为您提供
-rw-r--r--
这应该是非常安全的

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

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

然后输入
chmod 644 yourfilename.extension

您可以使用
ls-l


644应该为您提供
-rw-r--r--
这应该是非常安全的

我用了你建议的第二个。是的,现在它工作了。非常感谢。相对地引用图像也可以防止出现这种错误。@user1416658如果这解决了您的问题,请使用绿色勾号将我的答案标记为已接受。欢迎来到SO:-)我用了你建议的第二个。是的,现在它工作了。非常感谢。相对地引用图像也可以防止出现这种错误。@user1416658如果这解决了您的问题,请使用绿色勾号将我的答案标记为已接受。欢迎来到SO:-)