Per chiunque possa ritenerlo utile
p.s: Di nuovo grazie a marketto per il contributo

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($im255255255);
        
$colore_testo imagecolorallocate($im100100100);
        
$colore_linea imagecolorallocate($im200200200);
        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($im553,  $codice$colore_testo);
            
$rand_name rand(1000,date("dmYHms")) . substr(microtime(), 24) . ".jpg";
            
imagejpeg($im$_SERVER["DOCUMENT_ROOT"] . $dir_img $rand_name20);
            
// .............................
            
$_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 ?>