• User Newbie

    upload con resize in php

    Salve a tutti ho un problema con questo scritp in php. Premetto che ho paca conoscenza del linguaggio php:x Io vorrei integrare altri controlli l?interno tipo:
    Controllo del nome dell?immagine inserita nella cartella dove faccio upload per impedire che il file viene soprascritto
    Altra cosa controllare che l?immagine non sia inferiore di queste dimensioni (600*800)
    Io ho trovato questo pezzo di codice che controlla le dimensioni ma non riesco ad integralo
    }
    // Ottengo le informazioni sull'immagine
    list($width, $height, $type, $attr) = getimagesize($_FILES['image']['tmp_name']);
    // Controllo che le dimensioni (in pixel) non superino 600x800
    if (($width > 600) || ($height > 800)) {
    $msg = "<p>Dimensioni non corrette</p>";
    break;
    }

    Io lo provato a modificare cosi ma non funziona:o
    }
    // Ottengo le informazioni sull'immagine
    list($width, $height, $type, $attr) = getimagesize($_FILES['image']['tmp_name']);
    // Controllo che le dimensioni (in pixel) non superino 600x800
    if (($width > 600) || ($height > 800))
    {
    die(' Dimensioni non corrette');
    }

    Questo e tutto il codice che mi funziona perfettamente
    Grazie della vostra collaborazione

    <?
    //percorsi cartelle per il caricamento dei files
    $cartella_thumbs = "./thumbs";
    $cartella_upload = "./uploads/";
    //la larghezza delle miniature, in pixel
    $img_thumb_width = 100;
    //visualizza il modulo di caricamento file
    if(!$_POST['submit'])
    {
    ?>
    <form enctype="multipart/form-data" action="<?=$_SERVER['PHP_SELF']?>" method="post">
    <input type="hidden" name="MAX_FILE_SIZE" value="8000000" />
    Seleziona file:
    <input type="file" name="data" />
    <input type="submit" name="submit" value="Carica file" />
    </form>
    <?
    }
    else
    {
    //verifica le dimensioni del file caricato
    if($_FILES['data'] ==0)
    {
    die('Errore : campo upload nullo');
    }
    $file_permessi = array("image/gif","image/pjpeg","image/jpeg","image/x-png", "image/png");
    if(!in_array($_FILES['data']['type'], $file_permessi))
    {
    die('Estensione non consentita');
    }
    ///////////////////////
    //crea la thumbsnail///
    //////////////////////
    $ThumbWidth = $img_thumb_width;
    //crea la nuova immagine
    if($_FILES['data']){
    if($_FILES['data']['type'] == "image/pjpeg" || $_FILES['data']['type'] == "image/jpeg"){
    $new_img = imagecreatefromjpeg($_FILES['data']['tmp_name']);
    }elseif($_FILES['data']['type'] == "image/x-png" || $_FILES['data']['type'] == "image/png"){
    $new_img = imagecreatefrompng($_FILES['data']['tmp_name']);
    }elseif($_FILES['data']['type'] == "image/gif"){
    $new_img = imagecreatefromgif($_FILES['data']['tmp_name']);
    }
    //ottiene larghezza e altezza dell'immagine originale.
    list($width, $height) = getimagesize($_FILES['data']['tmp_name']);
    //calcola le proporzioni e ottiene dimensioni thumbsnail
    $imgratio=$width/$height;
    if ($imgratio>1){
    $newwidth = $ThumbWidth;
    $newheight = $ThumbWidth/$imgratio;
    }else{
    $newheight = $ThumbWidth;
    $newwidth = $ThumbWidth*$imgratio;
    }
    //funzione per ridimensionare l'immagine.
    if (function_exists(imagecreatetruecolor)){
    $resized_img = imagecreatetruecolor($newwidth,$newheight);
    }else{
    die("Errore: Assicurati che sul tuo server siano installate le GD library");
    }
    //ridimensionamento
    if($_FILES['data']['type'] == "image/x-png" || $_FILES['data']['type'] == "image/png"){
    imagealphablending($resized_img, false);
    }
    imagecopyresized($resized_img, $new_img, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
    //salva l'immagine
    $nome_file = strtolower($_FILES['data']['name']);
    if($_FILES['data']['type'] == "image/pjpeg" || $_FILES['data']['type'] == "image/jpeg"){
    imagejpeg ($resized_img,"$cartella_thumbs/$nome_file");
    }
    elseif($_FILES['data']['type'] == "image/x-png" || $_FILES['data']['type'] == "image/png"){
    imagesavealpha($resized_img, true);
    imagepng ($resized_img,"$cartella_thumbs/$nome_file");
    }
    elseif($_FILES['data']['type'] == "image/gif"){
    imagegif($resized_img,"$cartella_thumbs/$nome_file");
    }
    ImageDestroy ($resized_img);
    ImageDestroy ($new_img);
    }
    if(!is_uploaded_file($_FILES['data']['tmp_name']))
    {die('Erroe nel caricamento');
    }
    move_uploaded_file($_FILES['data']['tmp_name'],$cartella_upload .$nome_file)
    or die('Non posso caricare il file');
    echo "file caricato con successo<br />";
    echo "Antemprima: <img src="$cartella_thumbs/$nome_file" />";
    }
    ?>