str_replace不替换从数据库中提取的url

时间:2013-07-16 20:25:02

标签: php str-replace

我正在尝试从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)

1 个答案:

答案 0 :(得分:1)

为什么$_SERVER['DOCUMENT_ROOT']周围有大括号?

尝试将其替换为:

str_replace($_SERVER['DOCUMENT_ROOT'], '', $file_system_path);