2014-06-06 42 views
-1

SO!呃,它不讓我正常發佈,抱歉格式化新!和困惑哈!如果任何人都可以幫助我的下面的要求,這將是驚人的!我一直在努力過去3天!PHP - 將圖像鏈接存儲在數據庫中並顯示在不同的頁面上(本地主機)

我會盡量保持這個儘可能簡單的理解。

繼承人是我想要做的事:

用戶可以擁有個人資料圖片,他們上傳的圖像,圖像去他們的文件(自己的用戶名命名)和圖像的鏈接被存儲在數據庫。

我的問題:

我在本地主機上運行,​​並且由於某種原因,我無法顯示在所有頁面的圖片。 (如工程檔案頁面上,在索引頁不起作用。) 檔案頁面鏈接=會話/設置/個人資料 指數=會話/指數 用戶配置文件=會話/用戶/

我的代碼使用存儲是這樣的:

$uploadDir = '../../users/' .$username. "/"; 

我已經試過

(僅限於輪廓這項工作):

$uploadDir = $_SERVER['SERVER_NAME'] . 'dir/sessions/users/' .$username. "/"; 

(這不會執行)和其他一些明顯的方法。

對不起,它是如此廣泛的問題,希望我解釋得很好!

+0

你想要圖片的文件夾或圖片網址嗎? – fntneves

+0

我想知道是否有鏈接在所有頁面上工作的方法?它以../../users/username/image.png的形式存儲在數據庫中,因此它不會加載到索引頁面或任何其他不在設置目錄中的頁面上,因爲(../../)正在退出到文件夾?如果這是有道理的。 – user3556547

回答

0

您需要保存的文件名只從你的代碼獲取目錄,因爲它可能會經常變化。

因此,獲取文件名並將其放入數據庫中,即只有username.png,並且在獲取用戶的頭像時,將完整的url連接到它,包括HOST和文件夾。類似這樣的:

$user_avatar_link = "http://$_SERVER[HTTP_HOST]/path/to/user_avatar/" + username.png; 

注意:檢查$_SERVER[HTTP_HOST]是否有最後一個反斜槓。如果您使用的是HTTPS協議,那麼使用$_SERVER['HTTPS']

創建if語句完整的URL是最佳實踐,而不是使用相對目錄。

+0

DAMN!你天才!非常感謝。這工作完美! – user3556547

0

嘗試

$uploadDir = "$_SERVER['HTTP_HOST']" . '/users/' .$username. "/"; 
+0

鏈接保存爲/Applications/XAMPP/xamppfiles/htdocs/dir/sessions/users/username/1kgbXdRu.jpeg 這不會在任何網頁上顯示的圖像現在,該鏈接顯示爲張貼的圖片: HTTP ://localhost/Applications/XAMPP/xamppfiles/htdocs/dir/sessions/users/username/1kgbXdRu.jpeg – user3556547

+0

嘗試用$ _SERVER ['HTTP_HOST']替換$ _SERVER ['DOCUMENT_ROOT'] – Charles

相關問題