Salve sto scrivendo uno script per l'upload di immagini che una volta caricate sul server esse devono essere ridimensionate e poi cancellate.. mantenendo xo le miniature.

Questo è il codice

Codice PHP:
<?php

ini_set
("display_errors""1");

global 
$dir$conn$prefix;

// Includo le funzioni utili per le news
require_once($dir['libs'] . 'news.functions.inc');


    function 
formIco($ok NULL) {
        echo 
'
            <div id="wrap">
                <ul class="menu">
                    [*][url="#"]Carica Img[/url]
                        <ul>
                            [*]
                                <form name="form1" method="post" action="' 
$_SERVER['PHP_SELF'] . '?' $_SERVER['QUERY_STRING'] . '" enctype="multipart/form-data">
                                    <input type="file" name="imagefile">
                                    ' 
$ok '
                                    <input type="submit" name="Submit" value="Carica">
                                </form>
                            
                        [/list]
                    
                [/list]
            </div>
        '
;
    }
    

// Funzione d'elaborazione del form
    // Verifico se sono stati inviati i dati dal form se no mostro il form cosi da essere completato
    
if(!isset($_POST['imagefile'])){
        
        
formIco();

    } else {

        
// Destinazione nella quale devono essere spostati i file appena caricati
        
$destinazione $dir['sources'] . "icone/";
        
        
// Rilevo l'estensione dell'immagine
        
switch ($_FILES['imagefile']['type']) {
            
            case 
"image/gif":
            
copy ($_FILES['imagefile']['tmp_name'], $destinazione $_FILES['imagefile']['name'])
              or die (
"Impossibile caricare il file sul server");
            
            
// Preparo la query per caricare il link all'immagine sul server
            
$insertImg "INSERT INTO " $prefix "icone (percorso) VALUES ('" $destinazione $_FILES['imagefile']['name'] . "')";  
            break;
            
            case 
"image/jpeg":
            
copy ($_FILES['imagefile']['tmp_name'], $destinazione $_FILES['imagefile']['name'])
              or die (
"Impossibile caricare il file sul server");
            
            
// Preparo la query per caricare il link all'immagine sul server
            
$insertImg "INSERT INTO " $prefix "icone (percorso) VALUES ('" $destinazione $_FILES['imagefile']['name'] . "')";  
            break;
            
            case 
"image/png":
            
copy ($_FILES['imagefile']['tmp_name'], $destinazione $_FILES['imagefile']['name'])
              or die (
"Impossibile caricare il file sul server");
            
            
// Preparo la query per caricare il link all'immagine sul server
            
$insertImg "INSERT INTO " $prefix "icone (percorso) VALUES ('" $destinazione $_FILES['imagefile']['name'] . "')";  
            break;
            
            default:
            
$errore "Il tipi di file accettati sono: 
JPG, JPEG, GIF e PNG."
;
            
formIco($errore);
            
$insertImg "";
            break;
            
        }
        
        
        
// Eseguo la verifica x stabilire se l'immagine non è già presente nel database
        
$ext explode("."basename($_FILES['imagefile']['name']));
        
        
$query "SELECT * FROM " $prefix "icone WHERE sezione = '" $destinazione $ext[0] . "_ico" $ext[1] . "'";
        
        
$result_verify mysql_query($query) or die ("Errore durante la query di verifica!");
        
$count mysql_num_rows($result_verify);
        
        
// Eseguo la query se non è vuota o se l'img non è già nel database
        
if ($count != FALSE) {
            
            
formIco("Immagine gi&agrave; presente nel database!");
            exit();
            
        } else if (
$insertImg != "") {
            
$result $conn->query($insertImg);
            if(
$result !== TRUE) {
                
                
$errore 'Errore durante l\'inserimento.';
                
formIco($errore);
                exit();
                
            }
        }
        
        
        
// Ricavo il percorso dell'ultimo file inserito
        
$percorso "SELECT percorso FROM " $prefix "icone WHERE percorso = '" $destinazione $_FILES['imagefile']['name'] . "' LIMIT 1";
        
// Lo invio alla funzione che crea la miniatura e poi elimina il file inserendo nel db il link alla miniatura
        
thumb($percorso15170);
        
        
        
        
// Stampo nel form l'indicaione dell'avvenuto upload dell'immagine
          
$ok  "
<span style=\"text-transform: uppercase\">" 
$_FILES['imagefile']['type'] . "</span> caricata!";
        
$ok .= "
Nome: [b]" 
$_FILES['imagefile']['name'] . "[/b]";
        
formIco($ok);
    
    }


?>
Questo è il file dove c'è il form e l'eleaborazione di esso.. di seguito posto la funzione x la thumbail

Codice PHP:
// Creazione delle miniature o thumbails
function thumb($source_file$size$quality) {
    
    global 
$prefix;


    
// Creo la destinazione della miniatura 
    
$ext explode("."basename($source_file));
    
$output_file dirname($source_file).'/'.$ext[0].'_ico.'.$ext[1];
    
    
$success false;
    list(
$width$height) = getimagesize($source_file);
    
    
$new_width intval(($width $size) / max($width$height));
    
$new_height intval(($height $size) / max($width$height));
    
    
    
// Rilevo l'estensione dell'immagine
    
switch ($ext[1]) {
        
          
// faccio lo switch a seconda dell'estensione
        
case "gif":
            if ( 
$image_in imagecreatefromgif($source_file) );
        break;

        case 
"png":
            if ( 
$image_in imagecreatefrompng($source_file) ); 
        break;

        default: 
            if ( 
$image_in imagecreatefromjpeg($source_file) );

    }
            {
                if ( 
$image_out imagecreatetruecolor($new_width$new_height) ) {
        
                    
imagecopyresampled($image_out$image_in0000$new_width$new_height$width$height);
    
                    switch (
$ext[1]) {
    
                        
// faccio lo switch a seconda dell'estensione
                        
case "gif":
                            if ( 
imagegif($image_out$output_file$quality) );
                           break;
    
                          case 
"png":
                              if ( 
imagepng($image_out$output_file$quality) ); 
                          break;
    
                          default: 
                              if ( 
imagejpeg($image_out$output_file$quality) );
    
                    }
    
                            {
                                
$output_file str_replace("\\""/"$output_file);
                                
$sql_thumb "UPDATE {$prefix}icone SET percorso = '$output_file' WHERE percorso = '$source_file'";
                                
$result mysql_query($sql_thumb) or die(mysql_error());
                                
$success true;
                            }
    
                            
imagedestroy($image_out);
    
                }
    
                
imagedestroy($image_in);
                
                
// Elimino l'immagine dopo la creazione della miniatura
                
if (unlink($source_file) != TRUE) {
                    
                    echo 
"Errore nell'eliminazione dell'immagine sorgente";    
                    
                }
                
                
    
            }
    
    return 
$success;
    

Il codice non riporta errori.. cioè carico l'immagine nel form.. ricarica la pagina ma non succede nulla.. non viene nemmeno caricata sul server l'immagine e nemmeno il link nel db viene inserito.. cosa sbaglio?