Problème avec file_get_contents
Résolu/Fermé
hmedo
Messages postés
19
Date d'inscription
dimanche 25 octobre 2015
Statut
Membre
Dernière intervention
27 mai 2017
-
23 févr. 2017 à 20:23
Utilisateur anonyme - 24 févr. 2017 à 00:04
Utilisateur anonyme - 24 févr. 2017 à 00:04
22 réponses
Utilisateur anonyme
Modifié par le père. le 23/02/2017 à 23:47
Modifié par le père. le 23/02/2017 à 23:47
OK
Dans de nombreux systèmes, les lignes sont séparées par deux caractères de codes ASCII 10 (saut de ligne ou '\n') et 13 (ou retour chariot, '\r')
Ton code n'élimine que les sauts de ligne. Il suffit d'éliminer en plus les retours chariot. Rajoute
$code_page = str_replace("\r", "", $code_page);
Mais attention, tes lignes ne sont plus séparés par rien du tout, c'est peut-être gênant pour d'autres traitement que tu fais. Il est peut être préférable de ne le faire que sur le lien que tu as extrait.
Dans de nombreux systèmes, les lignes sont séparées par deux caractères de codes ASCII 10 (saut de ligne ou '\n') et 13 (ou retour chariot, '\r')
Ton code n'élimine que les sauts de ligne. Il suffit d'éliminer en plus les retours chariot. Rajoute
$code_page = str_replace("\r", "", $code_page);
Mais attention, tes lignes ne sont plus séparés par rien du tout, c'est peut-être gênant pour d'autres traitement que tu fais. Il est peut être préférable de ne le faire que sur le lien que tu as extrait.
NHenry
Messages postés
15186
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
19 janvier 2025
352
23 févr. 2017 à 20:42
23 févr. 2017 à 20:42
"http: //cdn1.wakanim.tv/library/2212_636180180623279591Acca350_hq.jpg"
L'espace entre les : et les // est un ajout de l'édition ou est-il présent dans ta chaine ?
L'espace entre les : et les // est un ajout de l'édition ou est-il présent dans ta chaine ?
hmedo
Messages postés
19
Date d'inscription
dimanche 25 octobre 2015
Statut
Membre
Dernière intervention
27 mai 2017
23 févr. 2017 à 21:25
23 févr. 2017 à 21:25
l’espace est un ajout de l'edition
zucrezel
Messages postés
30
Date d'inscription
mardi 7 février 2017
Statut
Membre
Dernière intervention
19 juillet 2017
4
23 févr. 2017 à 21:38
23 févr. 2017 à 21:38
Bonjour,
allow_url_fopen est activé dans php.ini ?
allow_url_fopen est activé dans php.ini ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
hmedo
Messages postés
19
Date d'inscription
dimanche 25 octobre 2015
Statut
Membre
Dernière intervention
27 mai 2017
Modifié par hmedo le 23/02/2017 à 21:48
Modifié par hmedo le 23/02/2017 à 21:48
oui il est activer
zucrezel
Messages postés
30
Date d'inscription
mardi 7 février 2017
Statut
Membre
Dernière intervention
19 juillet 2017
4
Modifié par zucrezel le 23/02/2017 à 22:37
Modifié par zucrezel le 23/02/2017 à 22:37
A mon avis, vu l'espace dans le message d'erreur, il y a un espace en trop à la fin de ta variable $img (juste après le .jpg):
Retire l'espace entre le .jpg et la guillemet " :
Pour en être sûr debugge ta variable $img que tu n'as pas indiquée:
$img="//cdn1.wakanim.tv/library/2212_636180180623279591Acca350_hq.jpg ";
Retire l'espace entre le .jpg et la guillemet " :
$img="//cdn1.wakanim.tv/library/2212_636180180623279591Acca350_hq.jpg";
Pour en être sûr debugge ta variable $img que tu n'as pas indiquée:
var_dump($img)
Utilisateur anonyme
23 févr. 2017 à 22:41
23 févr. 2017 à 22:41
Bonsoir
Re-vérifie bien qu'il n'y a pas d'espace du côté des : et du // Car le seul moyen avec lequel je réussis à reproduire ton message d'erreur, c'est en insérant des caractères indésirables du côté de :// Toutes mes autres tentatives donnent des messages différents.
Tu peux faire un echo strlen($image); et bien compter les caractères su nom du fichier pour vérifier ?
Re-vérifie bien qu'il n'y a pas d'espace du côté des : et du // Car le seul moyen avec lequel je réussis à reproduire ton message d'erreur, c'est en insérant des caractères indésirables du côté de :// Toutes mes autres tentatives donnent des messages différents.
Tu peux faire un echo strlen($image); et bien compter les caractères su nom du fichier pour vérifier ?
hmedo
Messages postés
19
Date d'inscription
dimanche 25 octobre 2015
Statut
Membre
Dernière intervention
27 mai 2017
23 févr. 2017 à 22:52
23 févr. 2017 à 22:52
j'ai vérifier avec var_dump il ne me montrent pas d'espaces et pour etre sur jai fait :
$img = str_replace(' ', '', $img);
et j'ai fait strlen et j'ai compter mais tout est bon je comprend pas d'ou peut venir le probleme
$img = str_replace(' ', '', $img);
et j'ai fait strlen et j'ai compter mais tout est bon je comprend pas d'ou peut venir le probleme
Utilisateur anonyme
23 févr. 2017 à 23:01
23 févr. 2017 à 23:01
Le strlen affichait combien ?
hmedo
Messages postés
19
Date d'inscription
dimanche 25 octobre 2015
Statut
Membre
Dernière intervention
27 mai 2017
23 févr. 2017 à 23:02
23 févr. 2017 à 23:02
71
Utilisateur anonyme
Modifié par le père. le 23/02/2017 à 23:09
Modifié par le père. le 23/02/2017 à 23:09
Pourtant, il ne devrait faire que 68
Tu as vraiment des caractères en trop.
D'où vient ton $img ?
Tu as vraiment des caractères en trop.
D'où vient ton $img ?
zucrezel
Messages postés
30
Date d'inscription
mardi 7 février 2017
Statut
Membre
Dernière intervention
19 juillet 2017
4
Modifié par zucrezel le 23/02/2017 à 23:09
Modifié par zucrezel le 23/02/2017 à 23:09
En fait 63 sans le http: de son code.
Envoie stp le contenu du var_dump($img).
Envoie stp le contenu du var_dump($img).
hmedo
Messages postés
19
Date d'inscription
dimanche 25 octobre 2015
Statut
Membre
Dernière intervention
27 mai 2017
Modifié par hmedo le 23/02/2017 à 23:12
Modifié par hmedo le 23/02/2017 à 23:12
string '//cdn1.wakanim.tv/library/2212_636180180623279591Acca350_hq.jpg' (length=65)
zucrezel
Messages postés
30
Date d'inscription
mardi 7 février 2017
Statut
Membre
Dernière intervention
19 juillet 2017
4
Modifié par zucrezel le 23/02/2017 à 23:18
Modifié par zucrezel le 23/02/2017 à 23:18
2 espaces en trop à la fin après le .jpg je pense.
Essaies ceci pour supprimer tous les espaces en début et en fin de chaîne :
Essaies ceci pour supprimer tous les espaces en début et en fin de chaîne :
trim($img)
hmedo
Messages postés
19
Date d'inscription
dimanche 25 octobre 2015
Statut
Membre
Dernière intervention
27 mai 2017
23 févr. 2017 à 23:17
23 févr. 2017 à 23:17
oui le problème sont les 2 espaces en trop mais je suis sensé les supprimer avec $img = str_replace(' ', '', $image);
zucrezel
Messages postés
30
Date d'inscription
mardi 7 février 2017
Statut
Membre
Dernière intervention
19 juillet 2017
4
23 févr. 2017 à 23:19
23 févr. 2017 à 23:19
Essaies ceci pour supprimer tous les espaces en début et en fin de chaîne :
trim($img)
trim($img)
hmedo
Messages postés
19
Date d'inscription
dimanche 25 octobre 2015
Statut
Membre
Dernière intervention
27 mai 2017
23 févr. 2017 à 23:22
23 févr. 2017 à 23:22
sa ne marchent pas
Utilisateur anonyme
Modifié par le père. le 23/02/2017 à 23:22
Modifié par le père. le 23/02/2017 à 23:22
Non, les espaces en trop à la fin ne provoquent pas d'erreur. Chez moi j'en rajoute et il n'y a pas de problème.
Dis-nous comment tu obtiens ta valeur dans $img
Et il est absurde d'essayer de retirer des caractères à l'aveuglette arce qu'on suppose qu'ils sont là. Il faut les mettre en évidence, puis en supprimer la cause.
Dis-nous comment tu obtiens ta valeur dans $img
Et il est absurde d'essayer de retirer des caractères à l'aveuglette arce qu'on suppose qu'ils sont là. Il faut les mettre en évidence, puis en supprimer la cause.
hmedo
Messages postés
19
Date d'inscription
dimanche 25 octobre 2015
Statut
Membre
Dernière intervention
27 mai 2017
23 févr. 2017 à 23:23
23 févr. 2017 à 23:23
je récupère le code source d'une page web venant d'un autre site et la je récupère le lien de l'image en la mettant dans $img
Utilisateur anonyme
Modifié par le père. le 23/02/2017 à 23:26
Modifié par le père. le 23/02/2017 à 23:26
for ($k=0; $k<strlen($img); $k++) echo ord($img[$k]),' ';
pour voir ce qu'il y a VRAIMENT dans $img
Ensuite on verra comment tu fais pour récupérer ce code source et récupérer le lien.
hmedo
Messages postés
19
Date d'inscription
dimanche 25 octobre 2015
Statut
Membre
Dernière intervention
27 mai 2017
23 févr. 2017 à 23:26
23 févr. 2017 à 23:26
sa me met sa :
104 116 116 112 58 13 47 47 99 100 110 49 46 119 97 107 97 110 105 109 46 116 118 47 108 105 98 114 97 114 121 47 50 50 49 50 95 54 51 54 49 56 48 49 56 48 54 50 51 50 55 57 53 57 49 65 99 99 97 51 53 48 95 104 113 46 106 112 103 13
104 116 116 112 58 13 47 47 99 100 110 49 46 119 97 107 97 110 105 109 46 116 118 47 108 105 98 114 97 114 121 47 50 50 49 50 95 54 51 54 49 56 48 49 56 48 54 50 51 50 55 57 53 57 49 65 99 99 97 51 53 48 95 104 113 46 106 112 103 13
Utilisateur anonyme
Modifié par le père. le 23/02/2017 à 23:38
Modifié par le père. le 23/02/2017 à 23:38
Tu as du faire la manip sur $image, et non pas $img.
Les deux "13" qu'on voit sont des caractères de fin de ligne ("retour chariot") qui n'ont rien à faire ici. Il y en a un entre le : et le //, et un dernier complètement à la fin.
Ils sont éliminés par le trim, à condition de le faire sur la partie $img seule :
https://www.php.net/manual/fr/function.trim.php
Comment fais-tu en pratique pour récupérer ce code source ?
Les deux "13" qu'on voit sont des caractères de fin de ligne ("retour chariot") qui n'ont rien à faire ici. Il y en a un entre le : et le //, et un dernier complètement à la fin.
Ils sont éliminés par le trim, à condition de le faire sur la partie $img seule :
https://www.php.net/manual/fr/function.trim.php
Comment fais-tu en pratique pour récupérer ce code source ?