salve. io avrei questo problema.

Io carico delle foto dal server (che sono salvate sul server tramite una pagina di upload) di dimensioni anche alte, per esempio 2186x2112px. poi le visualizzo, tramite regole di css, di dimensioni massime 300x300px. Il problema è che quelle foto vengono solo visualizzate con quelle dimensioni, ma in realtà vengono trattate con le dimensioni originali, e quando ho parecchie foto di tali dimensioni la pagina html è pesantemente lenta (nel sfogliarla per esempio).

come posso fare? magari un resize lato server quando viene fatto l'upload (cosa che gli utenti possono fare)?

per ora lo script che ho per le immagini è questo :
Codice PHP:
//gestisco le foto server side
    
if(($_FILES['userfile1']['tmp_name']!="") or ($_FILES['userfile2']['tmp_name']!=""
    or (
$_FILES['userfile3']['tmp_name']!="") or ($_FILES['userfile4']['tmp_name']!="")) {
        
// controllo che le foto siano effettivamente foto
        
for($i=1$i<=4$i++) {
            if (
$_FILES['userfile'.$i]['tmp_name']!="") {
                
$path_parts=pathinfo($_FILES['userfile'.$i]['name']);
                if(
strtolower($path_parts['extension'])=='jpg') {
                } elseif(
strtolower($path_parts['extension'])=='jpeg') {
                } elseif(
strtolower($path_parts['extension'])=='gif') {
                } elseif(
strtolower($path_parts['extension'])=='png') {
                } elseif(
strtolower($path_parts['extension'])=='bmp') {
                } else {
                    
$wrong=1;
                }
            }
        }
        
        
// controllo che le foto vadano bene. altrimenti annullo
        
if(isset($wrong)) {
            
$abort=1;
            
$messaggio="Errore - Formato delle foto non valido. Assicurati che il formato sia jpg, jpeg, gif, bmp, png";
        } else {
            
// creo cartella photo per questo articolo
            
mkdir("./articles/photos/".$articleid);
            
// gestisco la/le foto indice i
            
$sql="";
            for(
$i=1$i<=4$i++) {
                if (
$_FILES['userfile'.$i]['tmp_name']!="") {
                    
// imposto parametri photo
                    
$photoid=$articleid."-".$i;
                    
$uploaddir="./articles/photos/".$articleid."/";
                    
$userfile_tmp=$_FILES['userfile'.$i]['tmp_name'];            
                    
$userfile_name=$_FILES['userfile'.$i]['name'];

                    
// lo rinomino (unicità file)
                    
$userfile_name=$photoid."@".trim(str_replace(" """$_FILES['userfile'.$i]['name']));

                    
// copio la foto nella cartella nel server
                    
$path_parts=pathinfo($_FILES['userfile'.$i]['name']);
                    
$photoondb=$photoid.".".strtolower($path_parts['extension']);
                    
move_uploaded_file($userfile_tmp$uploaddir.$photoondb);

                    if(
$sql!=""$sql.=", ";
                    
$sql.="('$articleid', '$photoondb')";
                }
            }
            
            
// inserisco riferimento articolo-photo nel database                        
            
if($sql!=""$insert=mysql_query("INSERT INTO articles_photos (articleid, photoid) VALUES $sql",$mydb);
        }
    }

//client side per inviarle
<div class="addarticletable2">
    <
input name="userfile1" type="file" value="CHOOSE">
    <
input type="hidden" value="1" name="photo1"></input>
    <
input name="userfile2" type="file" value="CHOOSE">
    <
input type="hidden" value="1" name="photo2"></input>
    <
input name="userfile3" type="file" value="CHOOSE">
    <
input type="hidden" value="1" name="photo3"></input>
    <
input name="userfile4" type="file" value="CHOOSE">
    <
input type="hidden" value="1" name="photo4"></input>
</
div
magari avete una soluzione. Grazie