No lo fatto io, lo preso su internet e non ricordo più dove.. e poi non riesco ad trovare più il blog che lo faceva.
ecco il codice:
Codice: Seleziona tutto
<?php
// AVVIA LA SESSIONE
session_start();
// GENERA 5 CIFRE A RANDOM
//
do{
$cap1 = rand("1","9");
$cap2 = rand("1","9");
$cap3 = "=";
$cap4 = rand("0","2");
} while( $cap4 == 1 AND $cap2 >= $cap1 );
switch ( $cap4 ) {
case 0:
$operat = "+";
$operaz = $cap1 + $cap2;
break;
case 1:
$operat = "-";
$operaz = $cap1 - $cap2;
break;
case 2:
$operat = "*";
$operaz = $cap1 * $cap2;
break;
}
// COMPONE IL NUMERO E LO SALVA IN UNA SESSIONE
$_SESSION['codice'] = $operaz;
// AVVIA l'ISTANZA PER LA CREAZIONE DELL'IMMAGINE
$immagine = imageCreate(88, 36);
// DEFINISCE I COLORI CHE UTILIZZEREMO NELL'IMMAGINE
// (IL PRIMO COLORE INSERITO DIVIENE AUTOMATICAMENTE LO SFONDO)
$arancio = imageColorAllocate($immagine, 255, 136, 0);
$blu = imageColorAllocate($immagine, 0, 0, 255);
// GENERA A RANDOM UN NUMERO DI PUNTI (COMPRESO TRA 50 E 100)
$ndot = rand("50","100");
// CICLO PER L'INSERIMENTO DEI PUNTI
$zdot = 1;
while ( $zdot <= $ndot ) {
$dotx = rand("2","86");
$doty = rand("2","34");
imageline( $immagine, $dotx, $doty, $dotx, $doty, $blu );
$zdot++;
}
// SCRIVE LE CIFRE INSERENDOLE CON UNA X FISSA E UNA Y VARIABILE
imageString($immagine, 5, 15, rand("5","15"), $cap1, $blu);
imageString($immagine, 5, 30, rand("5","15"), $operat, $blu);
imageString($immagine, 5, 45, rand("5","15"), $cap2, $blu);
imageString($immagine, 5, 60, rand("5","15"), $cap3, $blu);
//imageString($immagine, 5, 70, rand("5","15"), $cap5, $blu);
// DEFINISCE IL MIME-TYPE DELL'IMMAGINE (IN QUESTO CASO COME IMMAGINE PNG)
header("Content-type: image/png");
// CREA L'IMMAGINE PNG
imagepng($immagine);
// LIBERA LA MEMORIA
imageDestroy($immagine);
?>
