网络浏览器中不显示来自网络服务器的图像

网络浏览器中不显示来自网络服务器的图像

我是 Ubuntu 新手,最近我在 Ubuntu 12.10 上安装了 xampp 1.8.1。我的问题是无法显示来自服务器的图像。我的代码是

 <div class="sideBlock unSung">
     <h4>Unsung heroes...</h4>
     <a href="#"> <img src="_images/1_full.jpg" alt="Midnight Run" width="99" height="135" /> </a>

     <a href="#"><img src="_images/2d7y3ki.jpg" alt="Wyatt Earp" width="99" height="135" /></a>
  </div>

在这里,在我的地址栏中我使用

 http://localhost/madeTemplet/basicTemplet/templet03.html

我想在“无名英雄”文字后显示图像,但它只显示一些链接,没有图像。

但是当我使用以下

 file:///opt/lampp/htdocs/madeTemplet/basicTemplet/templet03.html

图像显示在“无名英雄”文字之后。

它在Windows平台上运行良好。

chmod作为一个新用户,我对文件权限等知之甚少。我在目录中的终端窗口中chown使用,我看到以下内容:ls -l/opt/lampp/htdocs/madeTemplet/basicTemplet/_images

sabbir@sabbir-pc:/opt/lampp/htdocs/madeTemplet/basicTemplet/_images$ ls -l
total 300
-rw------- 1 sabbir sabbir 204067 Feb 24  2010 1_full.jpg
-rw------- 1 sabbir sabbir  75789 Nov 13  2009 2d7y3ki.jpg
-rw------- 1 sabbir sabbir  23692 Apr 21  2010 6AB32AE44600435B9DE0FB5EBA24A912.gif

我也去

/opt/lampp/etc/httpd.config

查找EnableMMAP off并且 EnableSendfile off已经#关闭。

如何解决这个问题呢?

答案1

我可以看到您的文件,并且只有所有者才具有读写权限,而组或其他人(世界宇宙)则没有。

在终端中尝试下一步:

sudo chmod 775 -R /opt/lampp/htdocs/madeTemplet/basicTemplet/_images

这将为全球用户提供读取权限,这样,您将能够在本地主机环境或网络中浏览时毫无问题地看到文件。

运行时文件和图像能够正常显示的原因file:///opt/lampp/htdocs/madeTemplet/basicTemplet/templet03.html在于文件的所有者被允许读取/写入它们。但其他人将无法访问某些不符合全球访问要求的文件。

此外,您可能需要通过运行以下命令为文件所在的文件夹分配匿名读取权限sudo chmod 775 /opt/lampp/htdocs/madeTemplet/basicTemplet/_images -R

-R= 递归:里面的所有文件/文件夹也将受到影响。

请尝试一下,并让我们知道这是否对您有用,如果您需要进一步的帮助,请随时通过留言告知我们,并且此答案的内容可能会根据您的结果进行更改或删除。

祝你好运!

答案2

您不应为文件分配执行权限。您不应递归分配 775。

如果你要执行上述操作,请执行以下操作:

find /opt/lampp/htdocs/madeTemplet/basicTemplet/_images -type f -exec chmod 644 {} \;

或者

find /opt/lampp/htdocs/madeTemplet/basicTemplet/_images -type f -exec chmod ugo+r {} \;

我曾经和一个人共事,他习惯于告诉人们 cd 到一个目录并递归地 chmod 777 东西,但是有一天,他告诉做这件事的人忘了说 cd 命令返回了消息“未找到目录”,所以他搞坏了整个服务器。

相关内容