Visualizzazione risultati 1 fino 12 di 12

Discussione: Upload in PHP, mi genera un errore

  1. #1
    Guest

    Question Upload in PHP, mi genera un errore

    Ciao a tutti,
    non sono un nuovo iscritto ma questa è la prima volta che scrivo in questo forum. Ho un sito e vorrei realizzare una applicazione lato server mia per l' upload in PHP. Ogni volta che la faccio partire genera sempre un errore. Ho provato anche con altri script fatti da terzi e genera sempre un errore. L' errore riguarda o il non ritrovamento di nessun file da caricare o un generico "fallito". Forse non è consentito? Devo creare una cartella? Devo sbloccare qualche cosa?
    Ciao a grazie a tutti!

  2. #2
    Guest

    Predefinito

    Devi postare lo script in questione, perchè non abbiamo ancora la capacità di leggere nel pensiero.


    Ciao!

  3. #3
    Guest

    Predefinito

    Intanto mi scuso con tutti per aver sbagliato sezione.
    Grazie mille comunque per la risposta pronta.
    Allora lo script sarà pieno di errori perchè sono alle prime armi, ma sto facendo passi avanti. Con altri script che dovevano essere giusti non funzionava.
    Un' altra domanda era se dovevo creare delle cartelle, e se si con quale nome
    Lo script in questione è il seguente:
    Codice PHP:
    <?php

    #sessione delle variabili di generazione degli errori
    $a= "Ho eseguito l' upload perfettamente!"; //variabile (1)
    $b= "Ho fallito l' upload"; //variabile (2)
    $d= "perchè hai inserito un file superiore a 3 Mb"; //variabile (4)
    #inizio del motore
    $destinazione= "upload/";
    $percorso= $_FILES["miofile"]["tmp_name"];
    $nome= $_FILES["miofile"]["name"];
    #motore
    if (move_uploaded_file($percorso , $destinazione , $nome))
    {
    echo
    "$a";
    }
    else
    {
    echo
    "$b";
    }
    if (
    $FILES['miofile']['size'] > 2569341)
    {
    echo
    "$d";
    }
    ?>
    Ultima modifica di letiziadimartino : 28-06-2008 alle ore 19.31.38

  4. #4
    Guest

    Predefinito

    Usa il tag php per evidenziare la sintassi, almeno è più facile leggere e capire il codice.
    Poi:
    1. La cartella upload/ esiste?
    2. Esiste una pagina in html dove c'è un'imput type="file" con name="miofile"?
    Ultima modifica di gabryhacker : 28-06-2008 alle ore 19.23.29

  5. #5
    Guest

    Predefinito

    move_uploaded_file ha solo due parametri, non tre come hai fatto tu.

  6. #6
    Guest

    Predefinito

    La upload/ c' è, anche se su altervista quella cartella è chiamata solo upload, lo slash non lo faceva. L' ho script l' ho modificato con upload invece di upload/ naturalmente.
    Poi c' è un file .html dove c' è il seguene codice:
    Codice HTML:
    <html>
    <head>
    </head>
    <body>
    
    <form enctype="multipart/form-data" method="post" action="engine.php">
    Immagine: <input type="file" name="miofile" size="40">
    <input type="submit" value="Carica l' immagine...">
    </form>
    
    </body>
    </html>

  7. #7
    Guest

    Predefinito

    Leggi il mio post sopra.

  8. #8
    Guest

    Predefinito

    Quindi significa che invece di fare:
    Codice PHP:
    if (move_uploaded_file($percorso , $destinazione , $nome))
    devo fare così?
    Codice PHP:
    if (move_uploaded_file($percorso , $destinazione))
    Ciao

  9. #9
    Guest

    Predefinito

    Fai:
    Codice PHP:
    $nome=basename($_FILES["miofile"]["name"]);
    move_uploaded_file($percorso, $destinazione.$nome)

  10. #10
    Guest

    Predefinito

    Ok, ora funziona! Ora è nato un ultimo problema. L' immagine caricata dove finisce? E come faccio a raggiungerla?
    Ciao

  11. #11
    Guest

    Predefinito

    Citazione Originalmente inviato da letiziadimartino Visualizza messaggio
    Ok, ora funziona! Ora è nato un ultimo problema. L' immagine caricata dove finisce? E come faccio a raggiungerla?
    Ciao
    Se $destinazione non contiene lo slash finale ovviamente sarà così:

    $nome=basename($_FILES["miofile"]["name"]);
    move_uploaded_file($percorso, $destinazione."/".$nome);

    Quindi l'immagine sarà nella cartella $destinazione e avrà il nome $nome.
    Attento al nome del file perchè potresti sovrascrivere un file esistente...

  12. #12
    Guest

    Predefinito

    Citazione Originalmente inviato da ivano85 Visualizza messaggio

    Se $destinazione non contiene lo slash finale ovviamente sarà così:

    $nome=basename($_FILES["miofile"]["name"]);
    move_uploaded_file($percorso, $destinazione."/".$nome);

    Quindi l'immagine sarà nella cartella $destinazione e avrà il nome $nome.
    Attento al nome del file perchè potresti sovrascrivere un file esistente...
    Veramente io lo slash dopo $destinazione non lo metto e funziona lo stesso.
    L'mmagine finisce nella cartella upload.
    Basta specificare nella variabile $destinazione lo slash

Regole di scrittura

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