Erreur parse error

Erreur parse error - PHP - Programmation

Marsh Posté le 02-08-2007 à 16:24:34    

Bonjour,
 
J'ai une erreur dans mon code et je ne comprend pas pourquoi:
 
Mon programme fonctionne parfaitement lorsque je liste mes repertoires, fichiers.
 
Mais lorsque je rajoute la ligne (pour remplacer un caractère): $file = str_replace ("Ã?","a",$file) => voici mon erreur: Parse error: parse error in c:\test\index.php on line 8
 
Code
 
<?php  
function list_dir($name) {  
  if ($dir = opendir($name)) {  
    while($file = readdir($dir)) {
       
 
      $file = str_replace ("Ã?","a",$file)
      echo "$file<br>\n";  
 
 
      if(is_dir($file) && !in_array($file, array(".",".." ))) {  
        list_dir($file);  
      }  
    }  
    closedir($dir);  
  }  
}  
list_dir("." );  
?>  
 
 
Merci de votre aide !

Reply

Marsh Posté le 02-08-2007 à 16:24:34   

Reply

Marsh Posté le 02-08-2007 à 16:25:53    

Bonjour,
tu as oublié un ;
$file = str_replace ("Ã?","a",$file) ;
 
JeanLuc

Reply

Marsh Posté le 02-08-2007 à 16:54:50    

ok merci

Reply

Marsh Posté le 02-08-2007 à 16:58:43    

Par contre j'ai un problème:
 
Lorsque je liste un fichier avec ce caractère Øl'echo me donne Ã?
 
Cela me pose un problème lorsque je veux renommer mon fichier avec la fonction rename

Reply

Marsh Posté le 02-08-2007 à 17:18:22    

T'as page html est en UTF-8 ou en ISO-8859-1?

Reply

Marsh Posté le 02-08-2007 à 17:32:19    

es tu sûr que c'est bien les 2 caractères Ã? que tu veux remplacer dans  $file = str_replace ("Ã?","a",$file) ??

Reply

Marsh Posté le 02-08-2007 à 19:20:10    

T'as page html est en UTF-8 ou en ISO-8859-1?
 
Comment le savoir?

Reply

Marsh Posté le 02-08-2007 à 19:26:25    

es tu sûr que c'est bien les 2 caractères Ã? que tu veux remplacer dans  $file = str_replace ("Ã?","a",$file) ??
 
En faite je dois renommer des fichiers:
 
je liste mes nom de fichiers et lorsque je trouve un caractère commencant par Ã... je le renomme.
 
Par contre j'ai un nom de fichier ou j'ai ces caractères:Ø
et quand je le liste via mon programme php: les caractères precedant deviennent Ã?
 
Pourquoi j'ai cette transformation ???

Reply

Marsh Posté le 02-08-2007 à 23:09:16    

je ne vois pas la facon dont tu renommes, mais n'as tu pas un problème du fait que tu utilises 2x $files?
Je détaille un peu: pour renomer, tu dois probablement faire rename(nom_depart,nom_nouveau); et ici, comme tu changes $file , ça risque de devenir rename($file,$file); et donc ça ne renomme pas.
J'espère que je me suis bien fait comprendre !
Et concernant les noms, pourquoi de pas les valider dès le moment de l'enregistrement ?
 
JeanLuc

Reply

Marsh Posté le 03-08-2007 à 11:28:32    

spyd07 a écrit :

T'as page html est en UTF-8 ou en ISO-8859-1?
 
Comment le savoir?


 
dans ton code html, t'a mis quoi comme jeu de caractères? T'as mis
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
ou
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
ton pb n'est peut-être qu'un pb d'affichage de ton navigateur qui n'utilise pas le bon jeu de caractères...

Reply

Marsh Posté le 03-08-2007 à 11:28:32   

Reply

Marsh Posté le 03-08-2007 à 14:49:37    

Ok merci rifo voici les résultats:
 
Caractère de mon nom de fichier: Ø
 
Avec <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />  
 
J'obtiens: Ã?
 
Avec <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
J'obtiens: �?
 
Que faire?
 
Merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed