Visualizzazione dei risultati da 1 a 2 su 2

Discussione: upload e miniature

  1. #1

    upload e miniature

    codice:
    <html>
    <head>
    <title>
    Upload Immagini
    </title>
    </head>
    <body>
    	<form name="formUpload" enctype="multipart/form-data" method="post" action="upload02.php">
    	
    
    
    		<input name="fileUP" type="file">	
    	</p>
    	
    
    
    		<input type="submit" name="Submit" value="Invia">	
    	</p>
    	</form>
    </body>
    </html>
    Codice PHP:
    <?php

    /*se riceviamo i dati dal form*/
    if ($_SERVER['REQUEST_METHOD'] == 'POST' && $_FILES['fileUP']['size']>0)
    {
    $fileName $_FILES['fileUP']['name'];
    echo 
    $fileName;
    echo 
    "
    "
    ;
    $tmpName $_FILES['fileUP']['tmp_name'];
    echo 
    $tmpName;
    echo 
    "
    "
    ;
    $fileSize $_FILES['fileUP']['size'];
    echo 
    $fileSize;
    echo 
    "
    "
    ;
    $fileMimeType $_FILES['fileUP']['type'];
    echo 
    $fileMimeType;
    echo 
    "
    "
    ;

    /*Ricaviamo le informazioni sull'immagine*/
    list ($width$height$type$attr) = getimagesize($_FILES['fileUP']['tmp_name']);/*restituisce larghezza e altezza in pixel 
    valore numerico corrispondente al tipo e una stringa contenente il testo img="xxx" width="xxx"*/
    echo "<h3>risultati getimagesize: </h3>";
    echo 
    $width;
    echo 
    "
    "
    ;
    echo 
    $height;
    echo 
    "
    "
    ;
    echo 
    $type;
    echo 
    "
    "
    ;
    echo 
    $attr;
    echo 
    "
    "
    ;


    /*cotrolliamo che il lato maggiore non superi 640 pixel*/

    if (($width 640) || ($height 640)){

    die (
    "

    Immagine troppo grande, deve essere minore di 640 X 640</p>"
    );
    }

    /* In Base al tipo di immagine, creaiamo un'immagine temporanea del tipo corretto*/
    switch ($type) {
    case 
    1//gif
    $img_in=imagecreatefromgif($tmpName) or die ("impossibile creare l'immagine gif");
        if (!isset(
    $extension)) {
            
    $extension "jpg";
            }
    break;

    case 
    2//jpg
    $img_in imagecreatefromjpeg($tmpName) or die("impossibile creare l'immagine jpg");
        if (!isset(
    $extension)) {
            
    $extension "jpg";
            }
    break;

    case 
    3//png
    $img_in imagecreatefrompng($tmpName) or die("impossibile creare l'immagine png");
        if (!isset(
    $extension)) {
            
    $extension "png";
            }
    break;
    default:
        die (
    "impossibile creare l'immagine");
    }

    /*calcoliamo la percentuale di ridimensionamento in base alle dimensioni desiderate*/
    $thumb_max_width100;
    $thumb_max_height100;

    $percent = ($width>$height) ? $thumb_max_width/$width $thumb_max_height/$height;
    $th_width $width*$percent;
    $th_height $height*$percent;
    $img_new imagecreatetruecolor ($th_width,$th_height);
    imagecopyresampled($img_new$img_in,0,0,0,0,$th_width,$th_height,$width,$height);


    /*a seconda del tipo di file inviamo albrowser l'header corretto*/
    switch ($extension) {
        case 
    "gif":
            
    header("Content-type: image/gif");
            exit;
        case 
    "jpg":
            
    header("Content-type: image/jpeg");
            exit;
        case 
    "png":
            
    header("Content-type: image/png");
            exit;
        default:
         die (
    "impossibile visualizzare l'immagine");
    }


    }
    else{
    echo 
    "

    Il file non esiste</p>"
    ;
    }


    ?>
    non riesco a farlo funzionare.

    Se creo la miniatura di un immagine che ho su una cartella caricata da me viene la miniatura.

    Se passo l'immagine via upload mi da tutti i dati della foto così:

    codice:
    dscf0045.jpg
    /tmp/phpYAl2hx
    48038
    image/jpeg
    risultati getimagesize:
    640
    480
    2
    width="640" height="480"
    senza il blocco case.
    Quando metto case o anche solo una riga con content.type mi stampa a video:
    http://localhost/login/galleria/upload02.php il nome del file.

    Praticamente e come se non riuscisse a creare la miniatura da un file senza averlo già sul server.
    Sapete aiutarmi.

    lo script l'ho trovato su una rivista ma non riesco a farlo funzionare.

  2. #2

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.