Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    upload immagini - dove è l'errore?

    buonasera, alla pagina:

    http://www.emiliorescigno.it/upload/uploadimages.php

    c'è una pagina di test per l'invio di un file immagine

    lo script che ho utilizzato sembra OK e non capisco dove stia l'errore.
    una volta trasferito il file invece della pagina di conferma appare l'avviso che
    occorre caricare il file.

    potete dare una occhiata?

    vi allego anche lo script utilizzato:

    <?

    /* modifica questa variabile con il nome della cartella in cui desideri caricare le immagini, ricordati lo slash finale!! */
    $_PATH = "upload/";

    /* modifica questa variabile con la tua email */
    $_EMAIL = "erescig@tin.it";

    switch($_GET["a"]){

    case "upload":

    /* Controlliamo l'esistenza dell'upload */
    if(is_uploaded_file($_FILES['img']['tmp_name'])) {

    /* Verifichiamo che l'immagine non superi i 5 MB */
    if($_FILES['img']['size'] > 5242880) {
    die("Il peso dell'immagine non deve superare i 5 MB!");
    }

    /* Ottengo le informazioni sull'immagine */
    list($width, $height, $type, $attr) = getimagesize($_FILES['img']['tmp_name']);

    /* Controlliamo che l'immagine siamo GIF JPG o PNG */
    if (($type!=1) && ($type!=2) && ($type!=3)) {
    die("Formato non accettabile!!");
    }

    /* Controllo che non esista già un'immagine con lo stesso nome */
    if(file_exists($_PATH.$_FILES['img']['name'])) {
    die("Esiste già un'immagine con lo stesso nome, per favore rinominala e riprova!");
    }

    /* Spostiamo il file nella cartella degli uploads */
    if(!move_uploaded_file($_FILES['img']['tmp_name'], $_PATH.$_FILES['img']['name'])) {
    die("Errore nel caricamento dell'immagine!!");
    }

    /* se tutto è andato a buon fine... */
    else{
    echo "OK, Immagine caricata!";

    /* Spediamo l'email */
    $_MESS = "C'è una nuova immagine da verificare, il suo nome è ".$_FILES['img']['name'];
    mail($_EMAIL, "Nuova immagine da verificare", $_MESS);
    }
    }

    else{
    /* Se non c'è nessun file in upload */
    echo "Seleziona il file da caricare!";
    }

    break;

    default:

    echo (' <html>
    <head>
    <body>
    <FORM ENCTYPE="multipart/form-data" ACTION="?a=upload" METHOD="post">
    <p align="center">


    </p>
    <p align="center">
    <INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="5242880">
    <INPUT NAME="UploadedFile" TYPE="file">
    <INPUT TYPE="submit" VALUE="Invia il file">
    </p>
    <p align="center"></p>
    <dl>
    <div align="center">
    <center>
    <dt><font face="Arial">Ricordiamo che file superiori ai 5 Mb</font></dt>
    </center>
    </div>
    <div align="center">
    <center>
    <dt><font face="Arial">automaticamente non vengono accettati.</font></dt>
    </center>
    </div>
    </dl>
    </FORM>
    </body>
    </html>');
    break;


    }

    ?>
    webbeginner
    ___________________________________
    noi agiamo, sentiamo e pensiamo non in conformità all'aspetto reale delle cose ma secondo le immagini che la mente si è fatta delle cose...
    ____________________________________

  2. #2
    Nel form hai dato:

    <INPUT NAME="UploadedFile" TYPE="file">


    e poi in $_FILES usi un indice di nome $_FILES['img'] invece di $_FILES['UploadedFile']


    ma se abilitassi la stampa degli errori e dei notice durante lo sviluppo, ti eviteresti le testate al muro....

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3

    grazie Piero

    Grazie Piero, va bene così?


    <?

    /* modifica questa variabile con il nome della cartella in cui desideri caricare le immagini, ricordati lo slash finale!! */
    $_PATH = "upload/";

    /* modifica questa variabile con la tua email */
    $_EMAIL = "erescig@tin.it";

    switch($_GET["a"]){

    case "upload":

    /* Controlliamo l'esistenza dell'upload */
    if(is_uploaded_file($_FILES['UploadedFile']['tmp_name'])) {

    /* Verifichiamo che l'immagine non superi i 5 MB */
    if($_FILES['UploadedFile']['size'] > 5242880) {
    die("Il peso dell'immagine non deve superare i 5 MB!");
    }

    /* Ottengo le informazioni sull'immagine */
    list($width, $height, $type, $attr) = getimagesize($_FILES['UploadedFile']['tmp_name']);

    /* Controlliamo che l'immagine siamo GIF JPG o PNG */
    if (($type!=1) && ($type!=2) && ($type!=3)) {
    die("Formato non accettabile!!");
    }

    /* Controllo che non esista già un'immagine con lo stesso nome */
    if(file_exists($_PATH.$_FILES['UploadedFile']['name'])) {
    die("Esiste già un'immagine con lo stesso nome, per favore rinominala e riprova!");
    }

    /* Spostiamo il file nella cartella degli uploads */
    if(!move_uploaded_file($_FILES['UploadedFile']['tmp_name'], $_PATH.$_FILES['UploadedFile']['name'])) {
    die("Errore nel caricamento dell'immagine!!");
    }

    /* se tutto è andato a buon fine... */
    else{
    echo "OK, Immagine caricata!";

    /* Spediamo l'email */
    $_MESS = "C'è una nuova immagine da verificare, il suo nome è ".$_FILES['UploadedFile']['name'];
    mail($_EMAIL, "Nuova immagine da verificare", $_MESS);
    }
    }

    else{
    /* Se non c'è nessun file in upload */
    echo "Seleziona il file da caricare!";
    }

    break;

    default:

    echo (' <html>
    <head>
    <body>
    <FORM ENCTYPE="multipart/form-data" ACTION="uploadimages.php" METHOD="post">
    <p align="center">


    </p>
    <p align="center">
    <INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="5242880">
    <INPUT NAME="UploadedFile" TYPE="file">
    <INPUT TYPE="submit" VALUE="Invia il file">
    </p>
    <p align="center"></p>
    <dl>
    <div align="center">
    <center>
    <dt><font face="Arial">Ricordiamo che file superiori ai 5 Mb</font></dt>
    </center>
    </div>
    <div align="center">
    <center>
    <dt><font face="Arial">automaticamente non vengono accettati.</font></dt>
    </center>
    </div>
    </dl>
    </FORM>
    </body>
    </html>');
    break;


    }

    ?>
    webbeginner
    ___________________________________
    noi agiamo, sentiamo e pensiamo non in conformità all'aspetto reale delle cose ma secondo le immagini che la mente si è fatta delle cose...
    ____________________________________

  4. #4

    guardate un po lo script come è ora

    come fa a non funzionare?

    lo potete vedere a questo indirizzo: http://www.finaleligureonline.net/up...loadimages.php


    ecco il listato attuale, dopo tutte le correzioni:

    <?
    /* modifica questa variabile con il nome della cartella in cui desideri caricare le immagini, ricordati lo slash finale!! */
    $_PATH = "upload/";
    /* modifica questa variabile con la tua email */
    $_EMAIL = "erescig@tin.it";
    switch($_GET["a"]){
    case "upload":
    /* Controlliamo l'esistenza dell'upload */
    if(is_uploaded_file($_FILES['UploadedFile']['tmp_name'])) {
    /* Verifichiamo che l'immagine non superi i 5 MB */
    if($_FILES['UploadedFile']['size'] > 5242880) {
    die("Il peso dell'immagine non deve superare i 5 MB!");
    }
    /* Ottengo le informazioni sull'immagine */
    list($width, $height, $type, $attr) = getimagesize($_FILES['UploadedFile']['tmp_name']);
    /* Controlliamo che l'immagine siamo GIF JPG o PNG */
    if (($type!=1) && ($type!=2) && ($type!=3)) {
    die("Formato non accettabile!!");
    }
    /* Controllo che non esista già un'immagine con lo stesso nome */
    if(file_exists($_PATH.$_FILES['UploadedFile']['name'])) {
    die("Esiste già un'immagine con lo stesso nome, per favore rinominala e riprova!");
    }
    /* Spostiamo il file nella cartella degli uploads */
    if(!move_uploaded_file($_FILES['UploadedFile']['tmp_name'], $_PATH.$_FILES['UploadedFile']['name'])) {
    die("Errore nel caricamento dell'immagine!!");
    }
    /* se tutto è andato a buon fine... */
    else{
    echo "OK, Immagine caricata!";
    /* Spediamo l'email */
    $_MESS = "C'è una nuova immagine da verificare, il suo nome è ".$_FILES['UploadedFile']['name'];
    mail($_EMAIL, "Nuova immagine da verificare", $_MESS);
    }
    }
    else{
    /* Se non c'è nessun file in upload */
    echo "Seleziona il file da caricare!";
    }
    break;
    default:
    echo (' <html>
    <head>
    <body>
    <FORM ENCTYPE="multipart/form-data" ACTION="?a=upload" METHOD="post">
    <p align="center">


    </p>
    <p align="center">
    <INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="5242880">
    <INPUT NAME="UploadedFile" TYPE="file">
    <INPUT TYPE="submit" VALUE="Invia il file">
    </p>
    <p align="center"> </p>
    <dl>
    <div align="center">
    <center>
    <dt><font face="Arial">Ricordiamo che file superiori ai 5 Mb</font></dt>
    </center>
    </div>
    <div align="center">
    <center>
    <dt><font face="Arial">automaticamente non vengono accettati.</font></dt>
    </center>
    </div>
    </dl>
    </FORM>
    </body>
    </html>');
    break;

    }
    ?>
    webbeginner
    ___________________________________
    noi agiamo, sentiamo e pensiamo non in conformità all'aspetto reale delle cose ma secondo le immagini che la mente si è fatta delle cose...
    ____________________________________

  5. #5
    suggerimento...

    metti la stampa dell'array $_FILES ad inizio pagina e controlla quello che contiene.
    poi stampati le variabili che estrai da getimagesize()

    inizio pagina:
    codice:
    if(isset($_FILES) ) {
     
     echo "<pre>";
     print_r($_FILES);
     }
    
    prima dell'if che controlla il formato...
    
    /* Ottengo le informazioni sull'immagine */
    list($width, $height, $type, $attr) = getimagesize($_FILES['img']['tmp_name']);
    
    echo "type = $type, $width, $height, $attr";
    
    /* Controlliamo che l'immagine siamo GIF JPG o PNG */
    ....

    metti praticamente dei punti di debug....

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6

    si arrivera' alla fine?

    comincio con l'essere un po depresso Piero.
    Innanzitutto grazie per continuare a darmi delle dritte che io piu' o meno riesco a mettere in pratica. Le istruzioni che mi hai messo sopra inutile dirlo, non le capisco, e di conseguenza non sono in grado di collocarle all'interno dello script.
    Ho fatto ancora un tentativo cambiando server per vedere, prima di fare i cambiamenti di
    cui sopra, se non dipendesse da questo.
    Ho provveduto a creare la cartella upload nel mio sito personale
    l'indirizzo della pagina di test ora è il seguente.

    www.emiliorescigno.it/upload/uploadimages.php

    ho trasferito il file uploadimages.php al suo interno e dato il relativo permesso CHMOD 777
    alla cartella.
    Quando cerco di trasferire una immagine ora ottengo questo messaggio:

    Warning: Unable to create 'upload/original.jpg': No such file or directory in /home/freenet/a200/www.emiliorescigno.it/htdocs/upload/uploadimages.php on line 35

    Warning: Unable to move '/tmp/phpbdYmNH' to 'upload/original.jpg' in /home/freenet/a200/www.emiliorescigno.it/htdocs/upload/uploadimages.php on line 35
    Errore nel caricamento dell'immagine!!

    ma la directory c'è eccome. Non capisco
    webbeginner
    ___________________________________
    noi agiamo, sentiamo e pensiamo non in conformità all'aspetto reale delle cose ma secondo le immagini che la mente si è fatta delle cose...
    ____________________________________

  7. #7
    Utente di HTML.it L'avatar di Leo15
    Registrato dal
    Sep 2005
    Messaggi
    307
    La directory c'è, ma la pagina uploadimages.php è già dentro la directory.
    Quindi volendola copiare in upload/nome.jpg e come se la mettessi in ./upload/upload/nome.jpg

    Prova a togliere upload insomma e lascia solo il nome dell'immagine
    La disumanità del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta.
    Isaac Asimov

  8. #8
    sicuramente e' un errore di path.

    ho copiato e incollato lo script cosi' come e' nell'ultima versione e sul mio server locale funziona e mi manda la mail. C'e' un NOTICE per la mancata valorizzazione di GET all'inizio dello switch alla prima pagina, per il resto non vedo problemi.

    switch($_GET["a"]){ <--- $_GET['a'] ancora non esiste la prima volta.

    verifica bene il percorso.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9

    era proprio un problema di path

    Era un problema di path.
    Uploadid.php era nella stessa directory "upload", ovvero quella incaricata
    a ricevere i files immagine.
    Ho provveduta a togliere uploadid.php e ora funziona tutto a meraviglia.
    questa è la pagina attuale del test:

    www.emiliorescigno.it/uploadid.php

    la mia domanda pero' ora è un'altra.
    dopo l'invio del file immagine viene fuori il messaggio che il file è
    stato caricato. Benissimo, ma da qui come posso fare a inserire
    un link o un pulsante che mi riporti alla pagina dell'upload? ovvero a uploadid.php
    nuovamente?
    questo, senza dovere necessariamente ricorrere alla freccia del browser di navigazione internet tanto per capirci.

    Grazie ragazzi. Senza il vostro aiuto e quello degli altri amici del Forum di Tutorial Web ( in particolare di Bart) non
    ce l'avrei mai fatta.
    webbeginner
    ___________________________________
    noi agiamo, sentiamo e pensiamo non in conformità all'aspetto reale delle cose ma secondo le immagini che la mente si è fatta delle cose...
    ____________________________________

  10. #10

    ops

    ops, ho sbagliato a linkare

    quello giusto della pagina del test è questo:

    www.emiliorescigno.it/uploadit.php
    webbeginner
    ___________________________________
    noi agiamo, sentiamo e pensiamo non in conformità all'aspetto reale delle cose ma secondo le immagini che la mente si è fatta delle cose...
    ____________________________________

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.