在部署到服务器的网站上不显示图像

问题描述:

有人可以向我解释为什么当我将我的网站上传到服务器时不显示此图像?在部署到服务器的网站上不显示图像

<img src="<?php echo __DIR__."/id-14.png" ?>" alt="[profile picture]">

的图像是在相同的文件夹.php文件。

这是我.htaccess文件:

RewriteEngine On 
Options -Indexes 

RewriteCond %{REQUEST_FILENAME} !-f 

RewriteRule .* index.php [L] 

正在显示什么是 '[资料图片]' 的文字。

+0

如果你有机会到终端检查目录和文件是否具有读权限 – prabushitha

+0

我相信他们这样做,因为访问样式表和JavaScript文件没有任何问题 – manjii

+0

如果您在浏览器中检查它,分配给src的url路径是什么? – prabushitha

尝试使用dirname$_SERVER['PHP_SELF'] + $_SERVER['HTTP_HOST']

改变这一点:

<img src="<?php echo __DIR__."/id-14.png" ?>" alt="[profile picture]"> 

这个

<img src="<?php echo "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/id-14.png" ?>" alt="[profile picture]"> 
+0

它仍然不起作用。也许问题出在'.htaccess'上?但我使用的RewriteCondition应该允许访问文件... – manjii

+0

是的,这将适用于您的服务器上的所有文件 – M0ns1f

我认为最好的办法就是因为最终它在客户端的浏览器和客户端的浏览器引擎检查呈现使用HTTP路径图像路径。

如果我们使用__DIR__它会给像本地路径“的/ home/xfiddlec /的public_html /主”这将很好地工作在本地的机器,但部署的客户端的浏览器时无法访问。

既然你知道的目录路径和它暴露在外部,

<?php $path = "http://host/images"; ?> 
<img src="<?=$path."/id-14.png" ?>" alt="[profile picture]"> 

我使用的变量存在,因为它更容易,如果你有多个地方使用它 __DIR__

+0

这是一个很好的建议,我会申请。但即使改变了提供路径名的方式,它仍然不起作用。我甚至把图像文件放在与'.php'文件相同的目录下,并尝试访问它,但没有成功。 – manjii

+0

当我将它改为'src =“”'在页面源中分配给它的url路径如下:'src =“http://mjnoach2.ayz.pl/id-14”'这是正确的。 当我手动浏览到此网址时,浏览器会下载名为id-14的文件,但它不会被照片预览软件识别。 – manjii

+0

@manjii你如何将图像上传到服务器?上传时,我认为该文件已损坏。检查文件是否已正确上传。 – prabushitha