2013-07-28 142 views
0

我想保存圖像在我的數據庫中的路徑。我正在開發Windows系統。在數據庫中保存路徑/或

我使用

setDestination(APPLICATION_PATH . "/userfiles/") 

在我的數據庫我有類似下面的路徑:

C:\wamp\www\cheyenne\application/userfiles\test... 

如果我嘗試使用相對路徑一樣\public\covers我得到一個錯誤,如「路徑或目錄不存在「。

我更喜歡第二種可能性,因爲前者的網絡服務器將成爲Linux上的Apache。

+0

所以,你被告知你給它的路徑不存在。它告訴你準確的信息。找出您的*當前目錄*並相應地更改您的路徑。另外,你在哪裏輸入路徑?命令行? PHP包括? – BLaZuRE

+0

是的謝謝!我改爲: - > setDestination(APPLICATION_PATH。「/../public/images/upload」)在我的數據庫中,當然我有這樣的路徑:C:\ wamp \ www \ cheyenne \ application /../ public /images/upload\minus.jpg和麻煩,以我的形式顯示圖片。我需要這樣的路徑:images/upload/minus.jpg。所以問題是:我如何重命名路徑,以及如何修復文件名前的反斜槓。我試過 - > addFilter('重命名',「圖像/上傳」),但我有麻煩臨時文件名。 –

回答

0

在數據庫中存儲圖片的完整路徑並不是一個好主意。你真的應該考慮使用相對路徑,並在數據庫視圖上構建渲染的完整路徑......我的觀點是,你可以或不知道你的應用程序將在哪裏以及你的應用程序將如何部署。

例如,今天,您將圖像存儲在同一臺服務器上,因爲流量問題,您將所有圖片移動到專用於圖片的第二臺服務器上...如果存儲圖片的完整路徑,您必須執行SQL請求才能更改部分路徑並更新您的代碼。如果你有相對路徑,你只需要改變你的應用程序配置。這可以在覆蓋默認配置的config.local文件中完成。

對於反斜槓......這是正常的,你在Windows上。在代碼上使用默認的php全局變量DIRECTORY_SEPARATOR而不是「/」。

+0

是的洞路徑是從APPLICATION_PATH傳遞的。你明白了,我不知道如何使用相對路徑。你能給我一些關於config.local文件的更多信息嗎?有時候我也有一些失去佈局的問題,它符合相同的方向。 –

相關問題