2017-09-24 133 views
0

有人可以向我解釋爲什麼當我將我的網站上傳到服務器時不顯示此圖像?在部署到服務器的網站上不顯示圖像

<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

回答

0

嘗試使用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

1

我認爲最好的辦法就是因爲最終它在客戶端的瀏覽器和客戶端的瀏覽器引擎檢查呈現使用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 =「<?php echo」http://「。$ _ SERVER ['HTTP_HOST']。dirname($ _ SERVER ['PHP_SELF'])。」id-14「?>」'在頁面源中分配給它的url路徑如下:'src =「http://mjnoach2.ayz.pl/id-14」'這是正確的。 當我手動瀏覽到此網址時,瀏覽器會下載名爲id-14的文件,但它不會被照片預覽軟件識別。 – manjii

+0

@manjii你如何將圖像上傳到服務器?上傳時,我認爲該文件已損壞。檢查文件是否已正確上傳。 – prabushitha

相關問題