我正在尝试从MySQL数据库中提取图像的文件路径并将其转换为URL。但是,当我通过str_replace传递它时,没有进行任何更改。我已经设置了一个带有路径预设的测试文档,它没有任何问题。
我从数据库中提取路径的代码是
$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)
答案 0 :(得分:1)
为什么$_SERVER['DOCUMENT_ROOT']
周围有大括号?
尝试将其替换为:
str_replace($_SERVER['DOCUMENT_ROOT'], '', $file_system_path);