2011-03-08 7 views
3

안녕을 사용하여 디스크에 저장하지 않고 이미지를 렌더링하고 싶 다음과 같은 기능을 가지고는 PHP GD libs와에게

function renderBusinessCard($details){ 
     //Getting the template for the business card 
     $filename = Templates::model()->getTemplateFileName($details['BusinessCards']['dp_id']); 
     header("Content-type: image/jpeg"); 

     $image = $_SERVER['DOCUMENT_ROOT'].'resources/templates/'.$filename; 


//  header("Content-Type: image/jpeg"); 
     //Getting the width and height of the image 
     list($width,$height) = getimagesize($image); 


//echo $width;die; 
     //Creating a copy of a loaded image 
     $create = imagecreatefromjpeg($image); 


     //Creating a blank template to work from 
     $template = imagecreatetruecolor($width,$height); 
     imagecopyresized($template, $create, 0, 0, 0, 0, $width, $height, $width, $height); 

     imagejpeg($template, null, 100); 

    } 

내가 달성하고자하는 것은 다음과 같은

<img src="<?php renderBusinessCard($details); ?>" 
같은 이미지 태그 내에서 이미지를 표시하는 것입니다

하지만 어쨌든 화면에 왜곡 된 코드가 표시되어 원하는 결과가 표시되지 않습니다. 가능한가요? 그리고 별도의 파일을 사용하지 않고 어떻게 함수 나 메소드 내에 남아 있기를 바랍니다.

답변

6

이미지를 별도의 리소스로 렌더링해야합니다. HTML 문서 안에 이미지 데이터를 추가하는 좋은 방법은 없습니다. (누구 data: URI를 추천 생각 : 그것은 끔찍한 생각입니다.)

<img src="renderBusinessCard.php?param1=1&param2=2"> 
+2

+1,'data : URIs;)를 사용하는 것이 좋습니다.) j/k –

+0

Thx, 그런 다음이 방법으로해야합니다. 감사합니다. 내가해야 할 일은 오히려 폴더의 이미지를 만든 다음 응용 프로그램 "긴 이야기"의 구조로 인해 이미지를 렌더링하는 것입니다. – Roland

0

을 너무 큰 아니라면 세션 데이터에서 $ 세부 배열을 유지하는 것이 더있을 수 있습니다. 그러면 호출은 스크립트를 호출하고 정확한 세부 정보 데이터를 연결합니다.

+0

Thx하지만 많은 세션을 좋아하지 않습니다. – Roland