Php probleme avec explode
Résolu
chang
-
chang -
chang -
Bonjour,
j'ai un script qui fonctionne très bien en local mais plus une fois en ligne. après avoir testé pas à pas, je m'aperçois que c'est explode("\r\n",$chaine) qui ne fonctionne pas en ligne. je lis dans un fichier txt, j'avais jusqu'ici l'habitude d'utiliser cette fonction de cette façon. avez-vous une idée ? à part terminer toutes les lignes par un séparateur alphanumérique ?
merci.
j'ai un script qui fonctionne très bien en local mais plus une fois en ligne. après avoir testé pas à pas, je m'aperçois que c'est explode("\r\n",$chaine) qui ne fonctionne pas en ligne. je lis dans un fichier txt, j'avais jusqu'ici l'habitude d'utiliser cette fonction de cette façon. avez-vous une idée ? à part terminer toutes les lignes par un séparateur alphanumérique ?
merci.
A voir également:
- Php probleme avec explode
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
3 réponses
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
À 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.