2011-02-27 2 views
0

나는 데이터베이스에있는 내 BLOB 필드에 이미지를 표시하는데 이미지를 표시하기 위해 콜드를 사용하지만 사진이 표시되지 않습니다. 누군가 내 잘못을 말할 수 있습니까?MySQL 데이터베이스에 저장된 이미지를 표시하여 문제가 있습니까?

public function getListUser() { 

     $select = $this->select() 
        ->order('lastname DESC'); 
     $adapter = new Zend_Paginator_Adapter_DbTableSelect ($select); 
     return $adapter; 
    } 

이 내 컨트롤러 :

$userModel = new Admin_Model_User(); 
$adapter = $userModel->getListUser(); 
$paginator = new Zend_Paginator ($adapter); 
$paginator->setItemCountPerPage(1); 
$page = $this->_request->getParam('page', 1); 
$paginator->setCurrentPageNumber($page); 
$this->view->paginator = $paginator; 

이 내보기 코드 : 매우 편리한 규칙이 초보자의 경우

<td style="width: 20%;"> <?php 
    echo $this->lastname ?> </td> 

<td style="width: 20%;"><?php header("Content-type: image/gif"); print $this->image; ?></td> 

답변

4

이미지를 표시하는 방법이 아닙니다.

코드는 다음과 유사해야합니다.

<td style="width: 20%;"> <?php 
    echo $this->lastname ?> </td> 

<td style="width: 20%;"><img src="/link-to-php-that-shows-image.php?id=123" /></td> 

이제 php 파일 (예 : link-to-php-that-shows-image.php). 이미지 필드를 데이터베이스에서 가져와 표시합니다. 예 ..

<?php 
$image = //get image from database, based on id etc. 
header("Content-type: image/gif"); 
print $image; 
?> 
-2

:

내 모델입니다

PHP는 일반 HTML 캔 옆에 아무 것도 할 수 없습니다. 당신이 HTML 코드에 직접 이미지 파일의 내용을 붙여 넣으면

  • 당신은 아무것도 볼 것입니다 :

지금 자신에게 질문에 대답?

그리고 다른

  • 방법은 이미지가 HTML에 표시되지 않습니다
  • ?

그리고 마지막 하나

  • 당신은 당신이 데이터베이스에 BLOB 필드에 이미지를 저장 하시겠습니까?
+2

사실 그는 할 수 있습니다. 구조를 통해. 그러나이 경우에는 다소 어색 할 것입니다. 나는 생각한다. – akond

0

이 코드 줄을 사용할 수 없습니다.

<td style="width: 20%;"> 
    <?php header("Content-type: image/gif"); print $this->image;?> 
</td> 

<td style="width: 20%;">가 출력 됨되는 이미지 전에 인쇄됩니다 및 headers 출력 이미지로 전송되는 HTML 요소이며, 때문에 오류를

Error:: Cannot modify header information - headers already sent by .. 

를 얻을 수 있도록 그것은이다하지만 당신은 젠드에서이 오류가 발생하지 않습니다 오류 표시가 꺼져있을 수 있으므로 프레임 워크를 설정 했으므로 application.ini 파일을보고 설정하십시오.

폴더에 이미지를 저장하고

<td style="width: 20%;"> 
    <img src="<?php echo $imagefullpath; ?>"/> 
</td> 

같은 filename 또는 데이터베이스에서 filepath 밖으로 에코 뭔가를 저장하지만,하는 것이 작업을 수행하는 가장 좋은 방법은 여전히 ​​다음 데이터베이스에 이미지를 저장하고 싶다면, ajax을 사용하여 이미지를로드 할 수 있습니다. 추가 도움이 필요하면 의견을 말하십시오.

관련 문제