IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Renommage du caractère à dans le nom d'un fichier


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 497
    Billets dans le blog
    1
    Par défaut Renommage du caractère à dans le nom d'un fichier
    Bonsoir,

    si je cherche à renommer le nom d'un fichier comportant le caractère "à" en "a" en faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $path=dirname(__FILE__).'/../../upload1/image/';
    ...
    $file=str_replace("à","a",$file);
    rename($path.$memofile,$path.$file);
    , il me le renomme en rajoutant un espace derrière le a ("a "). Comment se fait-ce et comment éviter ça ?

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 397
    Par défaut
    Il te rajoute un espace derrière le a ou alors, celui-ci existe déjà derrière le à et est conservé?

    Dans le second cas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $file=str_replace("à ","a",$file);

  3. #3
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 497
    Billets dans le blog
    1
    Par défaut
    Non (trop facile) ; par exemple, "images_à_classer_100.jpg" devient "images_a _classer_100.jpg"

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 397
    Par défaut
    As tu essayé quelque chose dans ce genre, pour essayer de contourner le problème ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $file=str_replace("_à_","_a_",$file);
    Ou même une autre fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $file = strtr($file, "à", "a");

  5. #5
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    Peux tu montrer ce qui est générer ?

  6. #6
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 497
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Thes32 Voir le message
    Peux tu montrer ce qui est générer ?
    Je ne comprends pas exactement, mais j'essaie quand même une réponse. Mon code est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    $path=dirname(__FILE__).'/../../upload1/image/';
    if ($handle = opendir($path)) {
       while ((false !== ($file = readdir($handle)))) {
            if ($file != "." && $file != "..") {
     
    			$memofile=$file;			
    			// === on supprime les accents et les espaces du nom de l'image 
    			$file = strtr($file,
    			"ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ",   
    			"aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn");  
    // === on supprime les espaces
    			$file=str_replace(" ","_",$file); 
    //  === OE
    			$file=str_replace("Œ","OE",$file);
    			$file=str_replace("œ","oe",$file);
    			//$file=str_replace("_à_","_a_",$file);
     
    			rename($path.$memofile,$path.$file);
    ...
    et le comportement, c'est par exemple ça : "images_à_classer_100.jpg" devient "images_a _classer_100.jpg"

  7. #7
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 497
    Billets dans le blog
    1
    Par défaut
    Je n'avais essayé ni l'un ni l'autre (et si le 1er contournement avait marché, ça aurait été embêtant dans les cas où il n'y a pas d'underscores autour du à), mais dans les 2 cas, j'ai le même comportement...
    et d'ailleurs, je viens de remarquer que dans mon code existait déjà ta deuxième proposition :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    			$file = strtr($file,
    			"ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ",   
    			"aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn");
    , mais comme c'est de la récup de code, je n'avais pas fait gaffe (et si je commente ta ligne, c'est pareil).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP 5.0] traitement balise XML avec caractères ":" dans le nom
    Par JKlr67 dans le forum Langage
    Réponses: 6
    Dernier message: 28/02/2009, 00h38
  2. Rechercher une chaine de caractères dans le nom d'un fichier
    Par meuah dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 05/06/2008, 17h54
  3. Mettre le caractère % dans le nom d'une variable
    Par pelotudo dans le forum MATLAB
    Réponses: 3
    Dernier message: 03/04/2008, 17h20
  4. Limite des 218 caractères dans un nom de fichier
    Par Didier Gonard dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 28/02/2008, 14h28
  5. Changer des caractères dans les noms de fichiers
    Par ForgetTheNorm dans le forum Linux
    Réponses: 2
    Dernier message: 07/01/2008, 14h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo