Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di citrus
    Registrato dal
    Feb 2002
    Messaggi
    774

    [help!] - upload files e caratteri speciali

    ciao a tutti,
    ho un problemone...
    ho un form per il caricamento di files sul server... il problema sorge nel momento in cui il nome del file caricato dall'utente contiene caratteri particolari come ad esempio l'apice (nel qual caso il nome del file viene troncato della parte antecedente all'apice stesso).
    altro problema si verifica con le vocali accentate che vengono sostituite da geroglifici incomprensibili.....
    come posso fare?
    è possibile far passare questi caratteri? non so.. magari esiste il modo di cambiare la codifica del form o qualche diavoleria simile...


    pensavo di avvertire l'utente che un file con caratteri simili non viene accettato ma come può fare il programma lato server ad acorgersene se i nomi vengono troncati evidentemente dal client?

    help me...
    grazie
    citrus

  2. #2
    invece di avvertire l'utente non puoi rinominare il file una volta che è stato uploadato sul server?
    Questa e' la mia firma! Lo so, e' una mezza schifezza.
    Un sito
    - skype non è per consulenze online -

  3. #3
    Utente di HTML.it L'avatar di citrus
    Registrato dal
    Feb 2002
    Messaggi
    774
    no, purtroppo no...
    il nome del file deve rimanere intatto, perchè è autoesplicativo...
    qualche idea?

  4. #4
    uhm ho provato con il mio webserver e "pare" non darmi problemi... ma tu come lo utilizzi (e da dove lo prendi) il nome del file?

    Scusa la banalità della mia domanda, ma voglio cercare di capire dove sta il problema ^^'
    Questa e' la mia firma! Lo so, e' una mezza schifezza.
    Un sito
    - skype non è per consulenze online -

  5. #5
    Utente di HTML.it L'avatar di citrus
    Registrato dal
    Feb 2002
    Messaggi
    774
    Originariamente inviato da iraiscoming223
    uhm ho provato con il mio webserver e "pare" non darmi problemi... ma tu come lo utilizzi (e da dove lo prendi) il nome del file?

    Scusa la banalità della mia domanda, ma voglio cercare di capire dove sta il problema ^^'
    ma figurati, anzi ti ringrazio x l'interessamento
    il nome del file lo prendo da $_FILES["nome_file"]["name"]
    il sito gira su apache...
    in pratica succede che il nome del file che viene copiato sul server viene "storpiato" in presenza di alcuni caratteri.
    ad esempio se si carica un file di nome "le foglie dell'albero.pdf" sul server viene salvato come "albero.pdf". in pratica tutto ciò che viene prima dell'apostrofo va perso...
    non ti dico poi cosa esce con le vocali accentate perchè non ho idea di come riprodurre certi sgorbi
    credo che fino ad un certo punto sia anche normale...
    anche windows non permette di usare certi caratteri nei nomi...
    però alcuni dovrebbero uscire e invece danno problemi...

    hai idea di come fare?
    ho pensato anche che possa essere un problema di codifica del form...
    lavorando un po' con ajax ho scoperto che è possibile inserire un determinato tipo di codifica dei parametri inviati tramite POST...
    ma non ho idea di come impostare un form... non ho mai visto un attributo del genere x il tag <form>...
    sempre ammesso che sia quello il problerma...

  6. #6
    Utente di HTML.it L'avatar di citrus
    Registrato dal
    Feb 2002
    Messaggi
    774
    up

  7. #7
    Utente di HTML.it L'avatar di citrus
    Registrato dal
    Feb 2002
    Messaggi
    774
    ciao di nuovo a tutti...
    ho appena scoperto un altra cosa interessante:
    i nomi dei file vengono troncati prima dell'apostrofo sul web server che ho installato in locale...
    mentre sul server che ospita il mio sito (www.kalidoxa.com) succede un altra cosa...
    in breve è il web server stesso a quotare, in fase di salvataggio, l'apostrofo nei nomi di file...
    dunque non credo più che c'entrino qualcosa il client e la codifica del form, è del server la colpa...
    il problema è che a quel punto il nome del file salvato è diverso da quello memorizzato nel database e quindi non viene più trovato...
    possibile che sia un impostazione di apache??
    o lo tronca o lo quota???
    in entrambi i casi la cosa mi crea cmq dei problemi.....
    come posso risolvere?
    avverto gli utenti che i nomi dei file non dovranno contenere apostrofi o caratteri strani??
    o c'è un modo per gestire la cosa senza disturbare l'utente finale?

    aiutatemi

  8. #8

    .......

    Ciao.
    No non è colpa del server prova a fare una
    cosa del genere:
    Codice PHP:
    if (!get_magic_quotes_gpc()) {
       
    $lastname addslashes($_POST['lastname']);
    } else {
       
    $lastname $_POST['lastname'];

    Poi stripcslashes ma solo
    per recuperare i nomi dei file per i
    caratteri accentati poi usare htmlentities o una str_replace fatta in
    casa con un array on i caratteri accentati.
    Ad ogni modo non fare un controllo sull'input dell'utente puoi produrre parecchi
    danni non si sa mai

    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  9. #9
    Utente di HTML.it L'avatar di citrus
    Registrato dal
    Feb 2002
    Messaggi
    774
    purtroppo non è quello il problema...
    come ho detto all'inizio il nome del file arriva gia storpiato.
    quando leggo la variabile $_FILES["nomefile"]["name"] questa è gia compromessa...
    e quindi non è più possibile tornare al nome originale del file così come era sulla macchina del client...

    il quoting su tutti gli altri campi passati dall'utente lo faccio gia... ma non è questo il caso...

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 © 2026 vBulletin Solutions, Inc. All rights reserved.