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)