我想從MySQL數據庫中提取圖像的文件路徑並將其轉換爲URL。但是,當我通過str_replace傳遞它時,沒有進行任何更改。我已經設置了一個預設路徑的測試文檔,並且沒有任何問題。str_replace不會取代從數據庫中提取的url
我的代碼從數據庫中提取的路徑是
$user_image = get_web_path($row['user_pic_path']);
其中
function get_web_path($file_system_path) {
return str_replace(var_dump($_SERVER['DOCUMENT_ROOT']), '', var_dump($file_system_path));
}
editted
My test code is:
<?php
echo "DOCUMENT_ROOT: {$_SERVER['DOCUMENT_ROOT']}";
$image_sample_path = "C:/wamp/www/website/images/image123.jpg";
$web_image_path = str_replace($_SERVER['DOCUMENT_ROOT'], '', $image_sample_path);
echo "<br /><br />CONVERTED PATH: {$web_image_path}";
?>
,輸出:
/website/images/image123.jpg"
但是,當從數據庫提取值時,'user_pic_path'字段中的C:/ wamp/www未被替換。
的var_dump( 'DOCUMENT_ROOT')給出
string 'C:/wamp/www' (length=11)
的var_dump($ file_system_path))給出
string 'C:/wamp/www/website/images/image123.jpg' (length=39)
你可以給一些圖像路徑,什麼$ _ SERVER [「DOCUMENT_ROOT」]是這樣,如果答案@anubhava給不工作,我們有更多的洞察力,以幫助你解決了這個問題。 –
你可以回顯/ var_dump $ user_image變量,看看你得到什麼。可能是你沒有從你的數據庫查詢本身獲得正確的值?該功能似乎工作正常,但。 – Maximus2012
爲什麼你首先在數據庫中存儲絕對路徑?看起來存儲在數據庫中的路徑與我不匹配,因此請檢查該值。但是,您仍然應該切換到資產的相對路徑... – nietonfir