2009-09-07 4 views
0

다른 사람이 만든 사이트에 보안 문자를 추가하려고합니다. 내가 this 자습서를 다음 봤는데 내가 별도의 파일로 만들 경우, 그것은 잘 작동합니다 (그래서 서버 설정에 문제가 아니에요)캡쳐 및 헤더에 문제가 있습니다. (PHP)

그러나, 나는 기존 페이지에 추가 할 때, 그것은 전혀 작동하지 않습니다.

파이어 폭스에서
‰PNGIHDRé1°8ö[IDATxœÍ]kp×u>»X‹± (4 ›–9¦:‰-C£V™©4–[ÓL•4“Dm~„njR3ª]*qÒÚ‰£ŽãD–&~Ô±ØØŽ$ 

, 내가 메시지를 얻을 : 이미지 "myURL이"를 표시 할 수 없습니다 내가 Internet Explorer에서 페이지를로드 할 때 소스 코드는 이미지 등이 표시되어 있어야합니다 임의의 문자로 표시된다 왜냐하면 오류가 있기 때문입니다.

나는 헤더와 관련이 있다고 가정하고 있지만 실제로는 잘 모르겠습니다. 어떤 조언을 크게 감상 할 수

$md5 = md5(microtime() * mktime()); 
$string = substr($md5,0,5); 
$captcha = imagecreatefrompng("./captcha.png"); 
$black = imagecolorallocate($captcha, 0, 0, 0); 
$line = imagecolorallocate($captcha,233,239,239); 
imageline($captcha,0,0,39,29,$line); 
imageline($captcha,40,0,64,29,$line); 
imagestring($captcha, 5, 20, 10, $string, $black); 
$_SESSION['key'] = md5($string); 
header("Content-type: image/png"); 
imagepng($captcha); 

:

내가 이미지를 만드는 데 사용하고 코드입니다. 감사.

답변

4

이러한 무작위 문자는 실제로 PNG 파일의 내용입니다.

PNG 데이터를 <img> 태그로 연결하는 대신 HTML 파일로 내 보내고 있습니다.

당신은 자신의 파일에 코드를 삽입 할 필요가이처럼 포함 :

<img src="image.php"> 
관련 문제