Visualizzazione risultati 1 fino 8 di 8

Discussione: Upload di file sul sito

  1. #1
    zyro non è connesso Utente
    Data registrazione
    08-05-2010
    Messaggi
    105

    Predefinito Upload di file sul sito

    Salve a tutti,

    scusate il mio sconcerto ma è mezza giornata che cerco di verificare il funzionamento di un semplicissimo script per uploadare immagini sul server

    Codice PHP:
    <?php

    $nomefile
    = $_FILES['foto']['name'];
    $destinazione = "../news/foto/";

    if (
    $_FILES['foto']['size']>250000)
    die(
    "Errore: dimensioni del file troppo grandi!");

    $allowed_types = array("image/gif","image/jpeg","image/png");
    if(!
    in_array($_FILES['foto']['type'],$allowed_types)) {
    die(
    "Upload non consentito per questo tipo di file. ");
    }

    $temp = $_FILES['foto']['temp_name'];

    move_uploaded_file($temp, $destinazione.$nomefile);

    ?>
    Questa è solo l'ultima versione di una decina di test che ho fatto (se non di più). Nello specifico appena cerco di caricare un'immagine mi esce l'errore relativo la type, ma comunque anche provando senza alcun controllo non riesco a caricare nessuna immagine (e pensare che dopo volevo pure passare il link a un db)

    Ho dimenticato qualche passaggio (ma a parte qualche verifica su dimensione e peso non credo) oppure per uploadare su AV bisogna inserire qualche specifico parametro o passaggio?
    Sul forum avevo intravisto una discussione in cui qualcuno diceva di inserire come target membri/nomesito/ecc. ma non trovo il link adesso

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,762

    Predefinito

    Molto dipende da come è stato fatto il form. Non mi sembra ci siano particolari errori nello script. Può non funzionare per molti motivi; uno dei tanto è che non esistono le cartelle "$destinazione".

    Comunque cercando un attimo nel forum troverai tanti script già fatti e funzionanti. Esempio:

    http://forum.it.altervista.org/how/5...-di-files.html
    http://forum.it.altervista.org/php-m...pload-php.html

    Ciao!

  3. #3
    zyro non è connesso Utente
    Data registrazione
    08-05-2010
    Messaggi
    105

    Predefinito

    Il form è semplicemente questo

    Codice HTML:
    <form id="form1" name="form1" method="post" action="prova.php" enctype="multipart/form-data">
        <input type="file" name="foto" id="foto">
        <input type="submit" name="invia" id="invia" value="Invia" />
    </form>
    Prima di incorporarlo con tutto il resto preferisco testare le parti singolarmente.

    Il primo link che hai indicato è proprio quello a cui mi riferivo alla fine del post precedente. La cartella di destinazione esiste perché l'ho caricata appositamente, ma devo aggiungere altro prima del percorso per vederla caricata sul server?
    Perché adesso, anche nel caso non mi dia errori non la carica l'immagine.

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,762

    Predefinito

    Prova con la is_dir() se veramente la destinazione esiste.
    (ok che hai creato la cartella, ma potrebbe essere sbagliato il percorso).

    Ciao!

  5. #5
    zyro non è connesso Utente
    Data registrazione
    08-05-2010
    Messaggi
    105

    Predefinito

    Mi da esito positivo, d'altronde l'avevo inserita anche allo stesso livello.

    Però continua a non farmi vedere le immagini caricate sul server, ho provato anche a usare scandir() per vederne il contenuto e mi riporta aolo questo:

    Array ( [0] => . [1] => .. ) Array ( [0] => .. [1] => . )

    EDIT ho usato la formula di scandir direttamente dal manuale di PHP

    Codice PHP:
    $dir1 = '../news/foto';
    $files1 = scandir($dir1);
    $files2 = scandir($dir1, 1);

    print_r($files1);
    print_r($files2);
    Ultima modifica di zyro : 01-04-2014 alle ore 23.09.56

  6. #6
    Guest

    Predefinito

    Ciao, avevo un problema simile al tuo e ho risolto con un path assoluto /membri/tuosito/images/new/
    Spero ti torni utile =)

  7. #7
    zyro non è connesso Utente
    Data registrazione
    08-05-2010
    Messaggi
    105

    Predefinito

    Ciao mtblegacy
    grazie per il suggerimento, ma non credo sia la directory il problema. Usando is_dir() e scandir() ho verificato la sua esistenza e il suo contenuto. Il problema è che continua a bloccarmi sull'errore del mime-type anche se carico le immagini giuste.

    Non ho ancora trovato una soluzione, strano

    Comunque ho provato anche con il path assoluto e non cambia niente

  8. #8
    zyro non è connesso Utente
    Data registrazione
    08-05-2010
    Messaggi
    105

    Predefinito

    Ragazzi non riesco a venirne a capo, ho provato testare la pagina su un altro hosting ma ho gli stessi problemi, mi blocca al mime-type error

    La cartella foto è allo stesso livello di questo file, ma continua a bloccarmi anche se carico immagini jpeg

    Codice HTML:
    <form id="form1" name="form1" method="post" action="prova.php" enctype="multipart/form-data">
        <input type="file" name="foto" id="foto">
        <input type="submit" name="invia" id="invia" value="Invia" />
    </form>
    Codice PHP:
    <?php
    //carichiamo le immagini sul server
    //passiamo le variabili che ci servono
    $nomefile = $_FILES['foto']['name'];
    $destinazione = "foto/";
    $temp = $_FILES['foto']['temp_name'];
    //verifichiamo le dimensioni dell'immagine
    if ($_FILES['foto']['size']>250000)
    die(
    "Errore: dimensioni del file troppo grandi!");
    //verifichiamo che il file caricato sia un'immagine jpeg, png o gif
    if ($_FILES['foto']['type'] |= "image/jpeg") die ("Tipo di file non supportato. Sono consentite solo immagini jpeg");
    //carichiamola nella cartella assegnandole il suo nome originale
    move_uploaded_file($temp, $destinazione.$nomefile);
    ?>
    Non ho idee, esiste un altro metodo per caricare foto o è ancora valido questo?

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •