Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Shop Recherche
2257 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Problème des fonctions : mb_convert_encoding(), …

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème des fonctions : mb_convert_encoding(), …

n°1870445
zoukoufxxx
La belle vie...
Posté le 07-04-2009 à 10:35:43  profilanswer
 

Bonjour à tous,
 
 
Dans un site que j'ai réalisé en PHP, j'ai mis en place une fonction qui permet de renommer les fichiers ayant des noms un peu exotiques. Là voici :

Code :
  1. function to7bit($text,$from_enc) {
  2. $text = mb_convert_encoding($text,'HTML-ENTITIES',$from_enc);
  3. //On vire les accents
  4. $text = preg_replace( array('/ß/','/&(..)lig;/', '/&([aouAOU])uml;/','/&(.)[^;]*;/'),
  5.       array('ss',"$1","$1".'e',"$1" ), 
  6.       $text);
  7. //on vire tout ce qui n'est pas alphanumérique
  8. $out_text = eregi_replace("[^a-z0-9\.]",'',$text);
  9. //on renvoie la chaîne transformée
  10. return $out_text;
  11. }


 
Cette fonction marchait à merveille lorsque j'étais en phase de test en local avec Easy PHP.
 
Une fois le site balancé sur son espace Web définitif, la fonction n'a plus l'air de s'exécuter correctement et les erreurs suivantes s'affichent :
 
Warning: Missing argument 2 for to7bit() in /homez.65/centrefr/www/90anslamontagne/exemples/etape-1.php on line 7
 
Warning: mb_convert_encoding() [function.mb-convert-encoding]: Illegal character encoding specified in /homez.65/centrefr/www/90anslamontagne/exemples/etape-1.php on line 9
 
Warning: Missing argument 2 for to7bit() in /homez.65/centrefr/www/90anslamontagne/exemples/etape-1.php on line 7
 
Warning: mb_convert_encoding() [function.mb-convert-encoding]: Illegal character encoding specified in /homez.65/centrefr/www/90anslamontagne/exemples/etape-1.php on line 9
 
Warning: Missing argument 2 for to7bit() in /homez.65/centrefr/www/90anslamontagne/exemples/etape-1.php on line 7
 
Warning: mb_convert_encoding() [function.mb-convert-encoding]: Illegal character encoding specified in /homez.65/centrefr/www/90anslamontagne/exemples/etape-1.php on line 9
 
Warning: Cannot modify header information - headers already sent by (output started at /homez.65/centrefr/www/90anslamontagne/exemples/etape-1.php:7) in /homez.65/centrefr/www/90anslamontagne/exemples/etape-1.php on line 138

 
 
Je vois pas d'où ça peut venir. Ai-je oublié de déclarer quelque chose ? [:transparency]  
 
 
Par avance, merci pour votre éventuelle aide. :jap:

Message cité 1 fois
Message édité par zoukoufxxx le 07-04-2009 à 10:36:45

---------------
Le site des BD d'HFR | Aurélien Amacker : Arnaque ? - Mongolien du Web
mood
Publicité
Posté le 07-04-2009 à 10:35:43  profilanswer
 

n°1870462
Profil sup​primé
Posté le 07-04-2009 à 10:47:38  answer
 

bah t'appelles ta fonction to7bit() sans lui fournir le second argument donc PHP gueule.
Ta définition de fonction est correcte, c'est l'appel qui merde.

n°1870507
zoukoufxxx
La belle vie...
Posté le 07-04-2009 à 12:17:15  profilanswer
 

Ah OK, merci pour ces éclaircissements ! :jap:  
 
Je ne sais quoi donner comme second argument. Voici un appel de la fonction :
 
-----
 
$nom_du_fichier = $nombre_aleatoire.to7bit($_FILES['image-principale']['name']);
 
-----

Message cité 1 fois
Message édité par zoukoufxxx le 07-04-2009 à 12:17:42

---------------
Le site des BD d'HFR | Aurélien Amacker : Arnaque ? - Mongolien du Web
n°1870518
macgawel
Posté le 07-04-2009 à 12:44:10  profilanswer
 

zoukoufxxx a écrit :

j'ai mis en place une fonction qui permet de renommer les fichiers ayant des noms un peu exotiques. Là voici :
[code]  function to7bit($text,$from_enc)

zoukoufxxx a écrit :

Je ne sais quoi donner comme second argument.


 :ouch:  
 
Tu "mets en place" (ça veut dire quoi, au fait, tu pompes sur le net ou tu développes ?) une fonction, et tu n'es même pas capable de trouver les arguments qu'elle va demander  :pt1cable:  
 
Si tu lis ta fonction to7bit, tu vois que le deuxième argument qu'elle récupère sert comme deuxième argument de mb_convert_encoding.
Après...
[:sh@rdar]

n°1870521
Profil sup​primé
Posté le 07-04-2009 à 12:57:39  answer
 

je plussoie et...
$from_enc => çà a l'air d'être l'encodage d'origine.
Et puis bon, tu utilises à la fois des regex PCRE et POSIX... Ça sent le truc pompé...

n°1870614
kao98
...
Posté le 07-04-2009 à 15:22:40  profilanswer
 

Pis c'est pas comme si les messages d'erreur n'étaient pas clair !
Il faut lire les messages d'erreurs !


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
n°1870695
zoukoufxxx
La belle vie...
Posté le 07-04-2009 à 17:10:33  profilanswer
 

C'est impressionnant cette section d'HFR. Tu demandes de l'aide, des éclaircissements, et tu te fais limite insulter, mais bon.

 
macgawel a écrit :


 :ouch:

 

Tu "mets en place" (ça veut dire quoi, au fait, tu pompes sur le net ou tu développes ?) une fonction, et tu n'es même pas capable de trouver les arguments qu'elle va demander  :pt1cable:


Quand je dis, je mets en place, ça ne veut pas dire que je l'ai développer, hein.
J'ai effectivement pris une source mis à disposition par un Internaute sur son blog.

 

Donc il faudrait que je mette :
$nom_du_fichier = $nombre_aleatoire.to7bit($_FILES['image-principale']['name'], UFT8 ou ASCII ou ....);

 

C'est ça ? :jap:


Message édité par zoukoufxxx le 07-04-2009 à 17:11:42

---------------
Le site des BD d'HFR | Aurélien Amacker : Arnaque ? - Mongolien du Web

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Problème des fonctions : mb_convert_encoding(), …

 

Sujets relatifs
Problème avec allocation dynamique de tableau (C)Problème session
[PHP} Probleme boucleProblème présentation html
Problème d'occurence variable [RESOLU]un probléme de Scanf () ????
Problème avec appendChild sous IEProbléme avec les matrices
problème trigger SQL SERVER 2005Besoin d'aide pour probleme pour une newsletter
Plus de sujets relatifs à : Problème des fonctions : mb_convert_encoding(), …


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR