Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Nome immagini, nome file, apostrofi e accenti

    ciao a tutti!
    salvo le immagini in una directory e salvo il path su db.
    il nome finale della foto è la stessa del titolo che si da all'articolo.
    e questo comporta che potrebbe avere accenti / apostrofi.
    quando vado a reperire l'immagine tramite query e metto il path nel tag img, non ho mai problemi con FF.
    ma su IE e Chrome succede che se il nome della foto ha un accento o un apostrofo, queste non vengono visualizzate.
    sapete perchè??

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Creati una funzione che pulisca il nome del file rendendolo "sicuro", sostituisci tutti i caratteri potenzialmente problematici con caratteri sicuri, ad esempio
    Codice PHP:
    function sanitize_filename($filename)
    {
        
    $cerca = array("à","è","é","ì","ò","ù","'","?"," ");
        
    $sostituisci = array("a","e","e","i","o","u","_","","_");
        return 
    str_replace($cerca,$sostituisci,$filename);

    Ovviamente puoi inserire altri caratteri negli array, ma è importante l'ordine in cui li metti.
    Usa la stringa così ottenuta come nome del file da salvare sia sul db che come nome del file vero e proprio.

  3. #3
    Originariamente inviato da Alhazred
    Creati una funzione che pulisca il nome del file rendendolo "sicuro", sostituisci tutti i caratteri potenzialmente problematici con caratteri sicuri, ad esempio
    Codice PHP:
    function sanitize_filename($filename)
    {
        
    $cerca = array("à","è","é","ì","ò","ù","'","?"," ");
        
    $sostituisci = array("a","e","e","i","o","u","_","","_");
        return 
    str_replace($cerca,$sostituisci,$filename);

    Ovviamente puoi inserire altri caratteri negli array, ma è importante l'ordine in cui li metti.
    Usa la stringa così ottenuta come nome del file da salvare sia sul db che come nome del file vero e proprio.
    grazie mille per l'aiuto!!!!

  4. #4
    avevo più o meno lo stesso problema, quindi vi ringrazio
    ma dovrei anche cambiare le lettere (non solo le accentate) del filename da maiuscole e minuscole
    cosa devo cercare?

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    per cambiare da maiuscole a minuscole basta usare la funzione strtolower()

  6. #6

  7. #7
    Originariamente inviato da Alhazred
    Creati una funzione che pulisca il nome del file rendendolo "sicuro", sostituisci tutti i caratteri potenzialmente problematici con caratteri sicuri, ad esempio
    Codice PHP:
    function sanitize_filename($filename)
    {
        
    $cerca = array("à","è","é","ì","ò","ù","'","?"," ");
        
    $sostituisci = array("a","e","e","i","o","u","_","","_");
        return 
    str_replace($cerca,$sostituisci,$filename);

    Ovviamente puoi inserire altri caratteri negli array, ma è importante l'ordine in cui li metti.
    Usa la stringa così ottenuta come nome del file da salvare sia sul db che come nome del file vero e proprio.
    ciao!!
    torno sull'argomento perchè riscontro un comportamento strano.
    ho usato questa tua funzione.
    se nella taxtbox scrivo ad esempio L'arcangelo, il file viene chiamato L\_arcangelo.
    sai il perchè di questo comportamento??

  8. #8
    giusto per capire ho fatto una prova stupida:
    Codice PHP:
    <?php

    include_once 'lib/utils.php';

    $nome "all'ORO";
    $nomeSan sanitizeName($nome);

    echo 
    $nome '
    $nomeSan;
    prima mi stampa all'ORO e poi all_ORO.
    e quindi direi che funziona.

    solo che invece nn funziona nel delle immagini.
    ci tengo anche a precisare che solo ' nn funziona.
    tutti gli altri caratteri della funzione vengono sostituiti perfettamente.

  9. #9
    prima si richiamare la funzione sanitazeName ho aggiunto la funzione stripslashes.
    nn so se è il modo corretto, però funziona solo così.

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.