Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: Upload di immagine

  1. #1

    Upload di immagine

    Ciao a tutti,
    ho cercato altrove ma non ho trovato niente di davvero soddisfacente. Quello che vorrei fare io è cericare un'immagine semplicemente tramite
    <input type="file" name="immagine" size="20">
    ridimenzionadola in percentuale e rinominarla...potreste aiutarmi sia col codice, ma soprattuto spiegandomi, in modo tale da capire e magari implementare in futuro.
    Grazie a tutti

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    crea il form html completo mettendo come "action" un tuo file php che gestirà l'upload, qui dentro recuperi i dati del form (in particolare con la variabile $_FILES)... parti da qui

  3. #3
    sisi ovvio questo era sottinteso! Quello che sta dentro il file php di action del form è quello che non riesco a fare

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    parti(te) sempre da qualche esempio di codice... p.es. (dal manuale php):

    devi fare un form con il nome del tag input (di tipo "file") uguale a "pictures"...

    Codice PHP:
    $uploads_dir '/uploads';
    foreach (
    $_FILES["pictures"]["error"] as $key => $error) {
        if (
    $error == UPLOAD_ERR_OK) {
            
    $tmp_name $_FILES["pictures"]["tmp_name"][$key];
            
    $name $_FILES["pictures"]["name"][$key];
            
    move_uploaded_file($tmp_name"$uploads_dir/$name");
        }

    ...e avere una cartella "uploads" sul server

    questo riesci a metterlo su? ti funziona?

  5. #5
    Ricordo che e' obbligatorio l'attributo
    codice:
    enctype="multipart/form-data"
    nel tag form, altrimenti i file non vengono trasferiti.

  6. #6
    @k.b grazie non sapevo di questo tag da inserire.
    @eiyen mi da errore Invalid argument supplied for foreach() ...

  7. #7
    Ho risolto così per l'upload

    $msg = "L'immagine $i è stata caricata sul server
    ";
    if (is_uploaded_file($_FILES['immagine'.$i.'']['tmp_name'])) {
    /* Controllo che il file non superi i 18 KB
    if ($_FILES['immagine'.$i.'']['size'] > 18432) {
    $msg = "

    L'immagine $i è più grande di 18 KB!</p>
    ";
    break;
    }*/
    // Ottengo le informazioni sull'immagine
    list($width, $height, $type, $attr) = getimagesize($_FILES['immagine'.$i.'']['tmp_name']);
    // Controllo che le dimensioni (in pixel) non superino 160x180
    if (($width > 160) || ($height > 180)) {
    $msg = "

    Dimensioni non corrette dell'immagine $i!</p>
    ";
    break;
    }
    // Controllo che il file sia in uno dei formati GIF, JPG o PNG
    if (($type!=2)) {
    $msg = "

    Formato immagine $i non corretto!!</p>
    ";
    break;
    }
    // Verifico che sul sul server non esista già un file con lo stesso nome
    // In alternativa potrei dare io un nome che sia funzione della data e dell'ora
    if (file_exists('images/'.$nome.$i.'.jpg')) {
    $msg = "

    Immagine $i già esistente sul server. Rinominarla e riprovare.</p>
    ";
    break;
    }
    // Sposto il file nella cartella da me desiderata
    if (!move_uploaded_file($_FILES['immagine'.$i.'']['tmp_name'], 'images/'.$nome.$i.'.jpg')) {
    $msg = "

    Errore nel caricamento dell'immagine $i !!</p>
    ";
    break;
    }
    }
    } while (false);

    Ci sono controlli su formato, size ecc...ma come ridimensionare una jpg???

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    guarda imagecopyresampled e funzioni correlate

  9. #9
    Originariamente inviato da sharkdrew
    Ci sono controlli su formato, size ecc...ma come ridimensionare una jpg???
    1. leggi il regolamento su come postare correttamente il codice: http://forum.html.it/forum/showthrea...readid=1470525
    2. usa questa libreria per le immagini: http://wideimage.sourceforge.net/

  10. #10
    1. si ho provato ma non so perchè non funzionava bene...così ho incollato normalmente.
    2. Intanto grazie per l'ottima libreria, l'ho provata ed è davvero utile! Ma poi pensavo...alla fine il ridimensionamento posso evitarlo perchè nel momento in cui mi servono queste immagini faccio così [img]images/img.jpg[/img] e la ridimensiona il browser...secondo te va bene che lo lasci così?

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.