Visualizzazione risultati 1 fino 15 di 15

Discussione: PHP: Problema con upload file

  1. #1
    Guest

    Predefinito Problema con upload file

    Scusate ancora se vi disturbo con questo problema.
    Lo scambio di variabili facendo come mi avete detto funziona e vi ringrazio ma non sono riuscito a risolvere il problema dell'upload di un file.

    Prima facevo così:
    Codice HTML:
    <input type="file" name="Immagine"></input>
    poi
    Codice HTML:
    <?
      copy($Immagine,"img/immagini/$nome_immagine") or die('Errore');
    ?>
    Voi mi dite di fare così:

    Codice HTML:
    <?php
    $uploaddir = '/membri/mionickname/mia_cartella_upload/';
    $uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
    
    if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
       echo "File caricato.\n";
    } else {
       echo "Errore\n";
    }
    ?> 
    quindi se ho capito bene devo mettere:
    $uploaddir = '/membri/bubbu7/img/immagini/';
    $uploadfile = $uploaddir . basename($_FILES[$Immagine][$nome_immagine]);
    if (move_uploaded_file($_FILES[$Immagine]['tmp_name'], $uploadfile)) {

    Giusto?
    Se si cosa ci dovrei mettere in 'tmp_name'?
    Scusate ancora se vi disturbo con questo problema e grazie.
    Saluti

    [DS] Hai sbagliato sezione, per questi problemi si posta in quella di PHP/MySQL...
    Ultima modifica di dementialsite : 22-11-2006 alle ore 09.58.13

  2. #2
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Il tuo script diventerà così:
    Codice PHP:
    <?php
    $uploaddir
    = "/membri/bubbu7/img/immagini/";
    $uploadfile = $uploaddir . basename($_FILES['immagine']['name']);

    if (
    move_uploaded_file($_FILES['immagine']['tmp_name'], $uploadfile)) {
    echo
    "File caricato.\n";
    } else {
    echo
    "Errore\n";
    }
    ?>
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  3. #3
    L'avatar di Luffio
    Luffio non è connesso Utente attivo
    Data registrazione
    02-07-2006
    Messaggi
    439

    Predefinito

    ciao scusate stavo cercando qualcosa di upload e ho trovato sto topic.

    Ho letto qui ma non capisco l'errore ! :(

    Desidero uploadare delle immagini di tipo GIF con anche la possibilità di cambiare il nome prima di salvarlo.

    Il mio script è questo:
    Codice PHP:
    if(!empty($_POST['newname'])){
    $filename = $_POST['newname'];
    if(!
    eregi("^(.+)\.gif$",$filename)) # se non è gia in .gif
    $filename.= ".gif"; # lo cambia in automatico
    }
    else
    $filename = basename($_FILES['upfile']['name']);
    $filename = rawurlencode(stripslashes($filename));
    # l'account è ageonline, non luffio
    $filename = "/membri/ageonline/gifanimate/$user/$filename";
    if(!
    move_uploaded_file($_FILES['upfile']['tmp_name'],$filename)){
    $error.= "<b>Errore: </b> &Egrave; avvenuto un errore durante il caricamento del file.<br>";
    }
    'newname' è il nuovo nome da dare, che viene da un post di tipo text. Se il campo 'newname' è vuoto, il nome è quello originale modificato [ rawurlencode(stripslashes($filename)) ].

    Quando lo faccio, lo script mi dice che è stato mandato, ma non lo trovo.

    Grazie ciao

  4. #4
    L'avatar di Gianluca
    Gianluca non è connesso Amministratore
    Data registrazione
    15-02-2001
    Messaggi
    18,035

    Predefinito

    Puoi usare anche il tuo precedente script, gli aggiornamenti che stavano all abase di questa incompatibilità sono stati sospesi.
    Gianluca

  5. #5
    L'avatar di Luffio
    Luffio non è connesso Utente attivo
    Data registrazione
    02-07-2006
    Messaggi
    439

    Predefinito

    eheh il fatto è che non ho un "precedente" script cosa devo usare?

    EDIT: ho passato una buona mezz'ora a capire come far funzionare move_uploaded_file() senza risultato, cioè: mi carica il file ma non lo mette nella cartella.
    Poi ho scoperto che funziona la funzione rename() e ho cambiato script:
    Codice PHP:
    if(!empty($_POST['newname'])){
    $filename = $_POST['newname'];
    if(!
    eregi("^(.+)\.gif$",$filename))
    $filename.= ".gif";
    }
    else
    $filename = basename($_FILES['newname']['name']);

    $filename = rawurlencode(stripslashes($filename));
    $filename = "/membri/ageonline/gifanimate/$user/$filename";
    rename($_FILES['upfile']['tmp_name'],$filename);
    Il problema di questo script è che non riesco a leggere gli errori :
    se uppo un file di formato GIF ma sbaglio il percorso, mi dice che ho sbagliato il tipo file e non che ho sbagliato percorso ! Quando sbaglio percorso $_FILES[ ]['type'] viene "application/octet-stream" e $_FILES[ ]['error'] viene 0 (devo supporre che lo manda visto che anche tmp_name esiste?).
    Potete dirmi dove sbaglio?
    Ultima modifica di Luffio : 04-12-2006 alle ore 15.57.44

  6. #6
    Guest

    Predefinito

    Sostituisci la funzione rename con move_uploaded_file

  7. #7
    L'avatar di Luffio
    Luffio non è connesso Utente attivo
    Data registrazione
    02-07-2006
    Messaggi
    439

    Predefinito

    Citazione Originalmente inviato da tuttoeniente2
    Sostituisci la funzione rename con move_uploaded_file
    in che modo? ditemi la sintassi.

  8. #8
    Guest

    Predefinito

    lo script precedente è quello postato da funcool, per capire la sintassi di move_uploaded_file guardati il suo post o dai un occhio a php.net

  9. #9
    L'avatar di Luffio
    Luffio non è connesso Utente attivo
    Data registrazione
    02-07-2006
    Messaggi
    439

    Predefinito

    Ok funziona, dopo svariate prove ho constatato che funziona.

    Domanda: È possibile valutare se il percorso del file indicato esiste (leggi: se il percorso è valido)?

  10. #10
    Guest

    Predefinito

    se ho capito vuoi vedere se una cartella esiste, allora usa la funzione is_dir()
    ciao!

  11. #11
    L'avatar di Luffio
    Luffio non è connesso Utente attivo
    Data registrazione
    02-07-2006
    Messaggi
    439

    Predefinito

    no non hai capito :D
    si può vedere se il percorso indicato esiste sul pc?

  12. #12
    Guest

    Predefinito

    Citazione Originalmente inviato da Luffio
    no non hai capito :D
    si può vedere se il percorso indicato esiste sul pc?
    no

  13. #13
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Puoi verificare che il file sia presente sul tuo sito con la funzione file_exists.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  14. #14
    L'avatar di Luffio
    Luffio non è connesso Utente attivo
    Data registrazione
    02-07-2006
    Messaggi
    439

    Predefinito

    Citazione Originalmente inviato da funcool
    Puoi verificare che il file sia presente sul tuo sito con la funzione file_exists.
    aridàje. lo so come si fa sul sito! volevo sapere se posso verificare l'esistenza del file che spedisco con modulo post! se non si potesse, pace. Questo è l'unico problema che ho finora.

    Ciao!

  15. #15
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Se il file è sul computer del visitatore, non lo puoi fare.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

Regole di scrittura

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