Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    APICI E DOPPI APICI sul nome del file

    Ciao a tutti

    sto usando un semplice script per l'upload di un file e che me lo rinomina utomaticamente.

    il form è composto da:

    CITTA
    NOME
    FILE DA UPLODARE

    Quando uppo il file voglio che me lo rinomini come CITTA_NOME.ESTENSIONE

    ecco

    Codice PHP:
    function change ($stringa){ 
    $stringa ereg_replace(" ","_",$stringa);
    $stringa str_replace("\"","",$stringa);
    $stringa ereg_replace("\'","",$stringa);
    return 
    $stringa;
    }
    $new_citta change($_POST['citta']);
    $new_nome change($_POST['nome']);
    $sub_nome=substr("$new_nome",0,15);

    if(
    $_FILES['foto']['name']){

    //ESTENSIONE
    $trova_punto explode("."$_FILES['foto']['name']); 
    $estensione $trova_punto[count($trova_punto) - 1]; 
    $estensione strtolower($estensione); 
                            
    //NUOVO NOME
    $new_name "$new_citta"."_"."$sub_nome.$estensione";

    //COPIO IL FILE
    copy("$foto""foto/".$new_name) or die("NON RIESCO AD INSERIRE LA MINIATURA");
                        
    //SQL PER DATABASE
    $upfoto="foto='$new_name',";
    @
    unlink("foto/$vecchia_foto");

    perchè sul database il nome me lo scrive correttamente, mentre il file uppato se contiene apici o doppi apici mi ci mette la slash?

    ecco l'esempio

    Calvi_dellUmbria_FORTEZZA.eps (NOME SUL DB CORRETTO)
    Calvi_dell\Umbria_FORTEZZA.eps (FILE UPPATO CON NOME SBAGLIATO)
    MITTICCOOOOOOOOO!

  2. #2
    up.
    MITTICCOOOOOOOOO!

  3. #3
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657
    potresti filtrare il nome del file mettendo uno stripslashes, ma mettere gli apici nei nomi del file è innaturale.

  4. #4
    Infatti tramite EREG_REPLACE io gli elimino.

    Ma quando salva il file sul server, al loro posto inserisce una slash.

    In più se metto lo stripslashes non mi salva il file.
    MITTICCOOOOOOOOO!

  5. #5
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657
    è server linux? per caso dopo la slash c'è uno spazio?

  6. #6
    NO non c'è spazio. (non so se è LINUX)
    MITTICCOOOOOOOOO!

  7. #7
    E' assurdo sto problema. ...

    se ho la città:
    SANT'ANNA e il mio file lo voglio rinominare SANTANNA.doc perchè lui me lo deve rinominare SANT\ANNA.doc ?
    MITTICCOOOOOOOOO!

  8. #8
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    semplicemente lui aggiunge gli slash davanti aglia pici e tu glieli togli:

    codice:
    $campo=str_replace("\\'","",$_REQUEST["campo"]);
    oppure:
    codice:
    $campo=str_replace("'","",stripslashes($_REQUEST["campo"]));
    meglio la prima :master:
    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

  9. #9
    Ciao Luke
    ma perchè se io gli dico di toglierli prima di salvare il file lui me li mette lo stesso? (SUL DB li salva correttamente)


    Codice PHP:
    function change ($stringa){  
    $stringa ereg_replace(" ","_",$stringa); 
    $stringa str_replace("\"","",$stringa); 
    $stringa ereg_replace("'","",$stringa); 
    return 
    $stringa

    $new_citta change($_POST['citta']); 
    $new_nome change($_POST['nome']); 

    //NUOVO NOME 
    $new_name "$new_citta"."_"."$new_nome"
    copy("$foto""foto/".$new_name); 
    RISULTATO:
    SUL DB = SANTANNA.doc
    SUL SERVER= SANT\ANNA.doc


    Scusami ma non capisco il REQUEST
    MITTICCOOOOOOOOO!

  10. #10
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    il db sa gestire la cosa forse...

    REQUEST è l'array che contiene get e post... nn sapendo quale metodo usassi....

    codice:
    function change ($stringa){  
    return str_replace("\\'","",$stringa); 
    } 
    $new_citta = change($_POST['citta']); 
    $new_nome = change($_POST['nome']); 
    
    //NUOVO NOME
    $new_name = "$new_citta"."_"."$new_nome"; 
    copy("$foto", "foto/".$new_name);
    prov così e vedi se funge..
    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

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.