Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    309

    eliminare spazi " " durante upload

    ciao e buon giorno a tutti
    utilizzo uno script per l'upload di file, il cui nome poi va inserito nel database. se però il file uploadato contiene spazi, nel database viene 'troncato' e inserito in modo non corretto. es: se il file che sto mandando sul server si chiama mio file.jpg (con lo spazio dopo MIO) nel DB mi inserisce solo "mio" quindi quando vado a richiamare l'immagine dal DB ovviamente non c'è... come posso raggirare questo problemino? vi posto il codice che esegue l'upload:
    Codice PHP:
    move_uploaded_file($file['tmp_name'], UPLOAD_DIR.$file['name']);

    $foto=$file['name'];


    $query "UPDATE utenti SET foto1='$foto' WHERE nick='$nome_utente'";
    mysql_query($query);
    echo 
    "nuova foto: $foto
    "

    grazie in anticipo a tutti

  2. #2
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Modifica il nome del file prima di eseguire l'upload sostituendo gli spazi con un'altro carattere, ad esempio _ (underscore) oppure il semplice trattino -

    Codice PHP:
    $file str_replace(' ''_'$file['name']); 

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    309
    ciao, grazie per la risposta ho provato come dici tu, ma stampando il nome della foto non è corretto!! es: se il file che sto caricando è mare rec.jpg mi stampa solo m come mai??il codice che mi hai suggerito l'ho inserito qua, credo sia giusto
    Codice PHP:
    define("UPLOAD_DIR""./$dir/");

    if(isset(
    $_POST['action']) and $_POST['action'] == 'upload')
    {
        if(isset(
    $_FILES['user_file']))
        {
            
    $file $_FILES['user_file'];
            if(
    $file['error'] == UPLOAD_ERR_OK and is_uploaded_file($file['tmp_name']))
            {
                      
    $file str_replace(' ''_'$file['name']);
        
    move_uploaded_file($file['tmp_name'], UPLOAD_DIR.$file['name']);

    $foto=$file['name'];


    $query "UPDATE utenti SET foto1='$foto' WHERE nick='$nome_utente'";
    mysql_query($query);
    echo 
    "nuova foto: $foto
    "
    ;
         
            }
        }


  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    1
    Ciao!
    Mi sembra che l'errore sia in:
    Codice PHP:
    $file str_replace(' ''_'$file['name']); 
    $file è un array e tu devi modificare solo la stringa contenuta in $file['name'] quindi
    Codice PHP:
    $file['name'] = str_replace(' ''_'$file['name']); 

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    309
    esatto, dopo qualche secolo ci sono arrivata anch'io
    grazie per le dritte!!

  6. #6
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    ciao Gina, non ho avuto modo di rispondere prima. Il tuo problema era molto semplice da risolvere, bastava che nella funzione move_uploaded_file aggiungessi $file al posto di $file['name']. Quindi, dopo aver sostituito gli sapzi vuoti con un carattere alternativo, avresti potuto fare così:

    Codice PHP:
    move_uploaded_file($file['tmp_name'], UPLOAD_DIR.$file); 

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.