Codice PHP:
	
<?php
session_start();
//------------------------------------------------------------------------------------
// Unico valore da settare (la dir dove viene salvata l'immagine)
$dir_img = "/test_vari/code_img/code/";
//------------------------------------------------------------------------------------
function Code_Img($dir_img) {
        $codice = rand(1000,9999);
        $altezza = 20;
        $perturba = 85;
        $larghezza = strlen($codice)*11;
        $im = imagecreate($larghezza, $altezza);
        $colore_sfondo = imagecolorallocate($im, 255, 255, 255);
        $colore_testo = imagecolorallocate($im, 100, 100, 100);
        $colore_linea = imagecolorallocate($im, 200, 200, 200);
        for ($i=1;$i<$altezza;$i=$i+6) {
            imageline($im,1,$i,$larghezza,$i,$colore_linea);
        }
        for ($i=1,$temp=strlen($codice);$i<$temp*12;$i=$i+6) {
            imageline($im,$i,1,$i,$altezza,$colore_linea);
        }
        for ($i=1;$i<$perturba;$i++) {
            $temp = array(rand(1,$larghezza),rand(1,$altezza));
            imageline($im,$temp[0],$temp[1],$temp[0],$temp[1],$colore_testo);
        }
        imagestring($im, 5, 5, 3,  $codice, $colore_testo);
            $rand_name = rand(1000,date("dmYHms")) . substr(microtime(), 2, 4) . ".jpg";
            imagejpeg($im, $_SERVER["DOCUMENT_ROOT"] . $dir_img . $rand_name, 20);
            // .............................
            $_SESSION['code_img'] = $codice;
            $_SESSION['name_img'] = $rand_name;
} // END function Code_Img
//------------------------------------------------------------------------------------
function Code_Img_Destroy($dir_img) {
    $dir = $_SERVER["DOCUMENT_ROOT"];
    if (file_exists($dir . $dir_img . $_SESSION['name_img']) == TRUE ){
        if (is_writable($dir . $dir_img . $_SESSION['name_img'])){
            unlink ($dir . $dir_img . $_SESSION['name_img']);
            //...........................
            unset($_SESSION['code_img']);
            unset($_SESSION['name_img']);
            $dir_img = NULL;
        }
    }
} // END function Code_Img_Destroy
//------------------------------------------------------------------------------------
    
if ( $_SERVER['REQUEST_METHOD'] == 'POST' && array_key_exists('code_img', $_POST) ) {
    if (isset($_SESSION['name_img'])) {
        if ($_POST['code_img'] == $_SESSION['code_img']) {
            echo "Il codice è coretto :-)
";
            // Elimina: sessioni, foto, dir
            Code_Img_Destroy($dir_img);
            // Termia o reindirizza o etc...
        } else {
            echo "Il codice è errato :-(
";
            // Elimina: sessioni, foto e dir
            Code_Img_Destroy($dir_img);
            // Riparti
            Code_Img($dir_img);
        }
    }
} else { // Allo start
    Code_Img($dir_img);
}
?>
<?php if (isset($_SESSION['name_img'])) { ?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
    [img]code/<?= $_SESSION['name_img']; ?>[/img]
    <input name="code_img" type="text" value="">
    <input name="submit" type="submit" value="INVIA">
</form>
<?php } ?>