我正在Codeigniter 2.0.2中開發我的第一個應用程序,並且我遇到了一個小問題,我似乎無法在Web上找到任何有關信息。將服務器文件路徑轉換爲Codeigniter中的URL
該應用程序圍繞存儲在本地服務器上的資源(即圖像和音頻文件)需要暴露給用戶。這些資源的位置作爲絕對路徑存儲在數據庫中。因此,我發現自己需要經常將服務器路徑翻譯成基於base_url的URL。
我已經寫了一個簡單而強大的函數來處理它,但是對於CI(URL,路徑)中所有看起來相關的幫助者,我不能動搖我剛剛重新發明輪子的感覺。
至少,我認爲會有某種CI功能(比如,「鹼化」),將翻譯,像這樣的任何服務器路徑到BASE_URL相對路徑:
$server_path = '/server/path/to/app/resources/image.jpg';
basify($server_path); // returns 'resources/image.jpg' or './resources/image.jpg'
其中CI應用程序位於/ server/path/to/app中。然後,調用base_url()來創建URL。
這樣的事情是否存在?
編輯:是的,我知道一個簡單的preg_replace將爲我處理大多數情況(至少那些資源位於基本路徑內的情況),但我覺得這應該是CI的工作,而不是我的!我使用它的一半原因是因爲我不想考慮路徑管理。
我不認爲有任何CI會爲你做這件事,所以像你已經做過的助手之一擴展可能是你最好的選擇。如果您向用戶顯示文件信息,請務必查看文件助手。 –