0

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

已编辑

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)
4

1 回答 1

1

为什么你周围有花括号$_SERVER['DOCUMENT_ROOT']

尝试将其替换为:

str_replace($_SERVER['DOCUMENT_ROOT'], '', $file_system_path);
于 2013-07-16T20:28:39.940 回答