premetto che nn ho letto tutta la discussione quindi potrebbe essermi scappato.
ho un problemino.
quando invio una foto mi vengono caricate in tmp ma poi nn vengono copiate nelle altre due cartelle.
quindi diciamo che funziona per metà.
alla fine del caricamento mi compare solo una pagina bianca.
Codice PHP:
<?php //upload.php

if (!isset($_POST['submit_upload'])) {
    
header("Location: index.php");
} else {
    include_once 
'config.php';
    
//faccio l'upload dell'img
    
include_once './include/upload.class.php';
    if (!isset(
$_FILES)) {
        
$_FILES $HTTP_POST_FILES;
    }
    if (!isset(
$_SERVER)) {
        
$_FILES $HTTP_POST_VARS;
    }
    
$up = new FileUpload(TMP_DIR);
    
$up->RenameFile($_POST['new_name']);
    
$up->Upload($_FILES['file']);
    
//adesso ridimensiono l'img a 400 x 400
    
include_once './include/image.class.php';
    
$img = new Image(TMP_DIR '/' $up->filename);
    
//creo l'immagine sorgente
    
$result $img->CreateSourceImage();
    
//se il tipo di immagine è supportato
    //salvo 2 file:
    //uno con l'img grande e uno con l'img piccola
    //nelle rispettive directory
    
if ($result) {
        
//salvo l'immagine con altezza 400 lasciandola proporzionata
        
$img->SaveProportionateImage(IMAGE_DIR '/' $up->filenameIMAGE_QUALITYIMAGE_HEIGHT);
        
//salvo l'immagine con altezza 75 lasciandola proporzionata
        
$img->SaveProportionateImage(THUMB_DIR '/' $up->filenameTHUMB_QUALITYTHUMB_HEIGHT);
        
//libero la memoria cancellando l'immagine sorgente
        
$img->Free();
    }
    
//se il tipo di img non è supportata
    //o se il file uploadato nn è un immagine
    
else {
        echo 
'Immagine non valida
'
;
    }
    
//In ogni caso cancello il file uploadato nella cartella ./tmp
    
$up->DeleteFile();
    echo 
'[url="view.php"]Guarde le immagini[/url]';
}
?>
Codice PHP:
<?php //upload.class.php

class FileUpload {

    var 
$up_dir;        //la directory temporanea in cui verrà uploadata l'img
    
var $filename;    //il nome del file
    
var $new_filename;    //il nuovo nome del file se vogliamo rinominarlo

    
function FileUpload($up_dir) {
        
$this->up_dir $up_dir;
    }

    function 
RenameFile($new_filename) {
        
$this->new_filename $new_filename;
    }

    function 
Upload($files) {
        if (!
file_exists($this->up_dir)) {
            die(
'La directory non esiste!');
        }
        
$this->filename = ($this->new_filename) ? $this->new_filename $files['name'];

        if (
trim($files["name"]) == "") {
            die(
"Non hai indicato il file da uploadare!");
        }
        if (
is_uploaded_file($files["tmp_name"])) {
            
move_uploaded_file($files["tmp_name"], $this->up_dir "/" $this->filename) or die("Impossibile spostare il file;controlla l'esistenza o i permessi della directory!");
        } else {
            die(
"Problemi nell'upload del file " $files["name"]);
        }
    }

    function 
DeleteFile() {
        
unlink($this->up_dir '/' $this->filename);
    }

}
?>
Codice PHP:
<?php //config.php

define('TMP_DIR''./tmp');
define('IMAGE_DIR''./img_big');
define('THUMB_DIR''./img_small');
define('IMAGE_QUALITY'80);
define('THUMB_QUALITY'70);
define('IMAGE_HEIGHT'400);
define('THUMB_HEIGHT'75);
?>