Ho trovato questo codice che genera automaticamente immagini captcha. Quello che vorrei è che non venisse inviato l'header come header("Content-type: image/jpeg"); ma poter richiamare l'immagine con il nome di un file, come una classica pagina .html .... si può fare???
Thx
Codice PHP:
<?php
//http://forum.html.it/forum/showthread.php?s=&threadid=1145418&highlight=captcha
//Captca-image
session_start();
if (empty($_SESSION['rand_code'])){
$str = "";
$length = 0;
$caratteri = "abcdefghijkmnpqrstuvwxyz123456789"; /* Caratteri che appaiono come immagine */
for ($i = 0; $i < 5; $i++){ /* il 5 indica il numero di caratteri-immagine che appaiono */
$str .= $caratteri{rand(0,34)}; // genera un numero casuale tra 0 e 32 per una stringa di lunghezza variabile da 3 a 5 cifre
}
/*
for ($i = 0; $i < 5; $i++){ // il 5 indica il numero di caratteri-immagine che appaiono
$str .= $caratteri{rand(0,32)}; // genera un numero casuale tra 0 e 32 per una stringa di lunghezza costante di 5 cifre
echo "
str ".$str;
}
*/
$_SESSION['rand_code'] = $str;
}
$imgX = 60;//Sposta a dx i caratteri-immagine
$imgY = 18;//Sposta in alto i caratteri-immagine
$image = imagecreatetruecolor(60, 20);
$backgr_col = imagecolorallocate($image, 238,239,239);//Colore di sfondo
$border_col = imagecolorallocate($image, 208,208,20);//Colore del bordo
$text_col = imagecolorallocate($image, 46,60,31);//Colore dei caratteri-immagine
imagefilledrectangle($image, 0, 0, 60, 20, $backgr_col);//Cambiando i 4 valori appare un'ombra nera e si può creare un'effetto rilievo o incassato del rettangolo
imagerectangle($image, 0, 0, 59, 19, $border_col);// Sposta il bordino colorato del rettangolo
$font = "courbi.ttf";
$font_size = 14;//Dimensione dei caratteri-immagine
$angle = 0;//Ruota obliqui i caratteri-immagine
$box = imagettfbbox($font_size,$angle,$font,$_SESSION['rand_code']);
$x = (int)($imgX - $box[4]) / 2;//Sposta a sx i caratteri-immagine
$y = (int)($imgY - $box[5]) / 2;//Sposta in alto i caratteri-immagine
imagettftext($image,$font_size,$angle,$x,$y,$text_col,$font,$_SESSION['rand_code']);
header("Content-type: image/jpeg");
imagejpeg($image);
imagedestroy ($image);
//Fine Captca-image
?>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
[img]captca-image.php[/img]Scrivi il codice<input type="text" name="validator" id="validator" />
</body>
</html>