MySQL 데이터베이스에서 이미지의 파일 경로를 추출하여 URL로 변환하려고합니다. 그러나 str_replace를 통해 전달하면 변경 사항이 적용되지 않습니다. 사전 설정된 경로로 테스트 문서를 설정했는데 문제없이 작동합니다. 데이터베이스에서 경로를 추출str_replace가 데이터베이스에서 추출한 URL을 대체하지 않습니다.
내 코드 출력 어느
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}";
?>
을 편집 해
$user_image = get_web_path($row['user_pic_path']);
입니다 :
/website/images/image123.jpg"
,536,
그러나 데이터베이스에서 값을 추출 할 때 '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 변수를 echo하고 얻을 것을 볼 수 있습니까? 데이터베이스 쿼리 자체에서 올바른 값을 얻지 못하고 있습니까? 함수는 잘 작동하는 것 같다. – Maximus2012
왜 데이터베이스에 절대 경로를 먼저 저장합니까? 데이터베이스에 저장된 경로가 나와 일치하지 않는 것처럼 보이므로 해당 값을 확인하십시오. 그럼에도 불구하고 자산의 상대 경로로 전환해야합니다 ... – nietonfir