Php probleme avec explode
Résolu/Fermé
A voir également:
- Php probleme avec explode
- Easy php - Télécharger - Divers Web & Internet
- \R php ✓ - Forum PHP
- Php?id=1 - Forum PHP
- Php if plusieurs conditions ✓ - Forum PHP
- Php echo image ✓ - Forum PHP
3 réponses
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
15 nov. 2010 à 12:11
15 nov. 2010 à 12:11
Bonjour,
Si ton site est hébergé sur un serveur Unix / Linux, les séparateurs de ligne ne seront pas des \r\n, mais des \n seuls.
Donc il faut utiliser explode("\n",$chaine);
Si tu veux que ton script fonctionne quel que soit le serveur (linux ou windows), je te suggère même de convertir les \r\n en \n au moment de l'explode :
explode("\n",str_replace("\r\n", "\n", $chaine));
Par contre, si ton fichier est volumineux, cela peut gréver les performances. À toi de voir en fonction de tes besoins.
Xavier
Si ton site est hébergé sur un serveur Unix / Linux, les séparateurs de ligne ne seront pas des \r\n, mais des \n seuls.
Donc il faut utiliser explode("\n",$chaine);
Si tu veux que ton script fonctionne quel que soit le serveur (linux ou windows), je te suggère même de convertir les \r\n en \n au moment de l'explode :
explode("\n",str_replace("\r\n", "\n", $chaine));
Par contre, si ton fichier est volumineux, cela peut gréver les performances. À toi de voir en fonction de tes besoins.
Xavier
merci beaucoup, à tâtons c'est ce que j'avais fini par trouver et je venais pour porter la réponse. je retiens ton conseil, mes fichiers ne sont pas volumineux en général. par contre, juste pour comprendre : j'ai toujours fait comme ça (en local ou en ligne) et ça marchait jusqu'ici, comment cela se fait-il ? je suis sur free.
merci encore
merci encore
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
16 nov. 2010 à 10:21
16 nov. 2010 à 10:21
À mon avis, cela dépend aussi de la machine sur laquelle tu as créé et/ou modifié le fichier.
Si tu crées le fichier sous windows, puis le mets en ligne sur un serveur linux, il restera en \r\n.
Par contre, si tu crées le fichier en ligne (via un script php par exemple), il sera plus vraisemblablement au format linux.
Si tu crées le fichier sous windows, puis le mets en ligne sur un serveur linux, il restera en \r\n.
Par contre, si tu crées le fichier en ligne (via un script php par exemple), il sera plus vraisemblablement au format linux.
au fait j'ai aussi noté que les " étaient obligatoires, impossible d'utiliser des simples '. pourtant ça fonctionnait aussi auparavant avec des ' (??).
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
16 nov. 2010 à 10:21
16 nov. 2010 à 10:21
Ça c'est étrange. Il y a peut-être une configuration du php.ini, mais j'en doute...