나는 php의 gd 라이브러리를 사용하여 내 페이지의 전자 메일을 이미지로 표시하려고하므로 스패머가 사용할 수 없습니다. 문제는 내가 따르고있는 튜토리얼이 Content-type : image/jpeg 헤더를 사용한다는 것이다. 즉,이 페이지에는 이미지 만있을 수 있습니다.이메일 주소를 이미지로 표시
어떻게하면 GD 라이브러리를 사용하여 HTML/PHP 페이지에서 이미지를 표시 할 수 있습니까? 아니면 다른 방법이 있습니까?
나는 php의 gd 라이브러리를 사용하여 내 페이지의 전자 메일을 이미지로 표시하려고하므로 스패머가 사용할 수 없습니다. 문제는 내가 따르고있는 튜토리얼이 Content-type : image/jpeg 헤더를 사용한다는 것이다. 즉,이 페이지에는 이미지 만있을 수 있습니다.이메일 주소를 이미지로 표시
어떻게하면 GD 라이브러리를 사용하여 HTML/PHP 페이지에서 이미지를 표시 할 수 있습니까? 아니면 다른 방법이 있습니까?
페이지의 머리글을 변경하면 전체 페이지가 해당 머리글에 따라 렌더링됩니다. 전자 메일과 같은 것을 사용하는 경우 단일 페이지로 유지하려는 경우 몇 가지 옵션이 있습니다.
첫 번째 옵션은 base64 인코딩입니다. 여기
//create the image, $im
//omit the header settings
ob_start();
imagejpeg($im);
$data = ob_get_contents();
ob_end_clean();
echo '<img src="data:image/jpeg;base64,'.base64_encode($data).'">';
우리는 클라이언트로가는 것을 막을 수있는 출력 버퍼를 배치하고 우리의 변수 $data
에 저장합니다. 그런 다음 base64_encode
을 사용하여 인코딩하고 브라우저에서 해석 할 수있는 방식으로 페이지에 출력합니다.
사용할 수있는가져 오기 방법도 있습니다.
if(isset($_GET['email'])) {
header("Content-type: image/jpeg");
//create the image, $im
imagejpeg($im);
imagedestroy($im);
die;
}
echo '<img src="?email">';
실제로 우리는 이메일 입력과 if 문 처리 만 보내고 있습니다.
'if' 블록의 끝에'exit'가 필요하다고 생각합니다. –
@MisterMelancholy 예, 수정되었습니다. – jeremy
잠깐 동안 문제가 해결 된 것을 보았지만 나중에 편집이 취소되었습니다. 거기에 없어요. –
코드를 표시하면 도움이 될 수 있습니다. 또한, 내가 아는 한, 헤더에 이미지를 보여주는 것이 유일한 방법 일 것입니다. 그것은 이미지를 보여주는 그것의 방법입니다. 다른 사람이 다른 방법을 사용하고 있다면, 알고 싶습니다. 헤더 앞에 HTML 출력이 없는지 확인하십시오. –
추가 : HTML/PHP 페이지에서 이미지를 표시하려면 출력의 변수 이름에 따라 달라집니다. 나는. '$ image' (변수) - 그러면 단지'echo $ image; '라고 쓸 수 있습니다. –
Welcome to Stack Overflow User2471133. 아직 [페이지에 대한] (http://stackoverflow.com/about) 읽기를 제공해야합니다. 또한 이미지의 base64로 인코딩 된 문자열을 포함하는 또 다른 방법이 있습니다. @Fred –