Pb affichage images dont le nom contient des accents

Eléphanteau du PHP | 49 Messages

12 sept. 2008, 11:14

Salut,

Je cherche à réaliser assez simplement un diaporama.
Je récupère les images dans un dossier
$dossier = opendir('images') ; $nbimg = 0 ;
while ($file = readdir($dossier)) 
   {if ($file<>'.' and $file<>'..' and $file<>'Thumbs') 
       {$nbimg++ ; $_SESSION['img['.$nbimg.']'] = $file ;
       }
   }
Puis je les affiche (à l'aide de PeriodicalUpdater) en donnant le nom du fichier comme commentaire
$_SESSION['i'] ++ ;

if ($_SESSION['i']>$_SESSION['nbimages']) $_SESSION['i'] = 1 ;
$file2 = htmlentities($_SESSION['img['.$_SESSION['i'].']']) ;
echo "<img alt='image' src='images/$file2' />" ;
$pos = strrpos($file2, '.') ;
echo "<br /><i>".substr($file2, 0, $pos)."</i>" ;
Malheureusement si les noms d'images contiennent des accents il n'affiche pas l'image !
Avez-vous un moyen simple de résoudre ce pb (c'était pour éviter de créer une table de plus) ?
Merci
TiFred
Apprenti webmaster

Eléphant du PHP | 135 Messages

12 sept. 2008, 14:41

Salut !

Je sais pas si il existe une methode plus simple sinon je te dirais de renomer tes images

en utilisant la fonction str_replace:

http://fr.php.net/str_replace

exemple :

Code : Tout sélectionner

$accents = array("à", "â", "ç", "é", "è", "ê", "ë", "î", "ï", "ô", "û", "’"); str_replace($search, $replace, $subject);

Eléphanteau du PHP | 49 Messages

15 sept. 2008, 11:00

Ce n'est pas trop ce que j'attendais comme réponse
Je finirais par mettre une base de données avec nom de fichier (sans accent) et commentaires

A moins que qq'un ait une autre idée ?
Merci
TiFred
Apprenti webmaster

Eléphanteau du PHP | 49 Messages

17 sept. 2008, 13:16

Je me permets de reposter

Toujours pas d'idée ?
TiFred
Apprenti webmaster

Eléphanteau du PHP | 39 Messages

17 sept. 2008, 14:52

Pourquoi décode tu en htmlentities()?
essaye plutot un truc du genre utf8_encode() ou utf8_decode()

bon courage
C'est en forgeant qu'on se forge

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

17 sept. 2008, 16:26

  1. On ne met pas d'accent dans les noms de fichiers
  2. Tu auras plus vite fait de renommer tes fichiers
    (surtout en te construisant un petit script qui le fera automatiquement)
  3. Ce sera plus propre et beaucoup plus sûr

Eléphanteau du PHP | 49 Messages

18 sept. 2008, 11:49

Je vais donc me faire une base pour les commentaires
Merci
TiFred
Apprenti webmaster

ViPHP
AB
ViPHP | 5818 Messages

20 sept. 2008, 04:42

Je vais donc me faire une base pour les commentaires
Merci
Oui ou tu pourrais aussi faire un simple tableau de correspondance. Je veux dire utiliser une bdd juste pour ça, c'est peut-être un peu disproportionné...