2012-12-20 3 views
0

mysql 데이터베이스에 이미지 포인터를 저장 했으므로 이제 <img> 태그를 사용하여 이미지를 인쇄하려고합니다. 데이터베이스가 나에게이 특정 페이지 (예)에 대한 이미지에 포인터 .... 을 제공하는 PHP 파일 가져 오기 이미지를로드하는 포인터

나는 그것이 나에게

$Image = '/xampp/htdocs/cw/mysql/images/Iphone3GSh.JPG' 

<img>는 것을 수행이 포인터를주는 변수 이미지를 가지고 이미지가

<img src="<?php echo $Image; ?>" /> 
+0

어떤 유형의 오류가 발생하고 있습니까? – Scott

+4

이미지 태그는 파일 시스템 루트가 아닌 웹 루트에 상대적인 파일 참조를 기대합니다. –

답변

1

당신은 URI로 파일 (당신이 포인터는 일반적으로 파일 경로라는 부르는)에 로컬 경로를 변환 할 중요한 단계를 누락을 체크 아웃하지 않습니다. 이것은 순수한 데이터 URI (큰 이미지에 적합하지 않음)로 수행 할 수 있습니다

$ImageSrc = 'data:image/jpg;base64,'.base64_encode(file_get_contents($Image)); 

<img src="<?php echo $ImageSrc; ?>" /> 

는 일반적으로 당신이 그것을로 파일 경로를 변환하여 웹 서버로 구성된 웹 루트에 따라 URI에 해당합니다. 당신이 당신의 질문을 공유하지 않은 것처럼 이것은 단지 대략 여기에 표시 할 수 있습니다

$root = $_SERVER['DOCUMENT_ROOT']; 
$rootLen = strlen($root); 
if (substr($Image, 0, $rootLen) !== $root) { 
    throw new Exception('Incompatible File'); 
} 
$ImageSrc = substr($Image, $rootLen); 

<img src="<?php echo $ImageSrc; ?>" /> 

은 SRC가 무엇인지 HTML 이미지 태그의 아주 기본 사항에 대해 배울 원하는 HTML 참조를 참조하십시오, URI가 무엇인지, 그리고 이것이 어떻게 작동하는지에 대한 정보를 제공합니다. 이 모든 것을 대답으로 설명하기에는 너무 어려울 것이므로, 이미 가지고 계신 PHP 코드를 올리 셨을 수도 있고 아닐 수도 있습니다. 행운을 빕니다!

+0

고맙습니다. 다른 사람들을 돕기 위해 노력하고있는 사람들이 있습니다. 좋은 하루 되세요! –