|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre à l'essai
![]() Inscription : mai 2007 Messages : 146 ![]() |
B'jour à tous!
Je suis à la recherche d'une méthode me permettant de récupérer des informations d'un site web, depuis un script PHP. Je m'explique: J'aimerais pouvoir vérifier que l'image "image.jpg" est bien présente dans la page www.site.com/page d'un site qui ne m'appartient pas. J'imagine qu'il faut sonder le code source de la page générée mais je ne vois pas du tout comment faire et s'il existe des fonctions spéciales pour cela. J'ai tenté de chercher par moi même sur Google et sur le forum mais les bons mots clés de recherche sont très difficiles à trouver... Je vous remercie de votre aide! David Guillon |
|
|
00
|
|
|
#2 |
|
Membre éprouvé
![]() ![]() Inscription : août 2006 Messages : 313 ![]() |
C'est plus simple que ça.
Pour récuperer des fichiers, des images et autres d'un autre fichier, il suffit de le faire avec les instructions prévus par php comme tu le ferais en local. La difference, c'est que php va utiliser le protocole html:// pour le resoudre au lieu du protocole file:// Par contre, il faut que l'attribut de configuration : allow_url_fopen soit a 1. Tous les servers ne le permettent pas. De plus, cette pratique est non sécurisé pour la principale raison : tu n'as aucun controle sur les données d'entrée. Attention, si un webmaster s'en rend compte et decide de se venger de toi (dans le cas ou tu n'as pas son accord), il pourrait remplacer le dit fichier par un autre et te renvoyer le nouveau (peu de chance que ça arrive) Donc ne recupere que des fichiers poru lesquels tu as un accord |
|
|
00
|
|
|
#3 |
|
Membre à l'essai
![]() Inscription : mai 2007 Messages : 146 ![]() |
Merci pour cette réponse.
Est ce que cela veut dire qu'il me suffit de faire un truc du genre "if exists "image.html" ou un truc comme ça? Mais où dois-je définir l'adresse où aller vérifier cette existence? (je trouverai peut-être la réponse dans l'aide PHP sur la fonction Exists, si c'est ça que je dois utiliser) Je ne compte pas récupérer de données depuis l'autre site web mais simplement vérifier l'existence d'une donnée. Dois-je alors modifier la valeur de configuration allow_url_fopen ? Merci |
|
|
00
|
|
|
#4 |
|
Membre éprouvé
![]() ![]() Inscription : août 2006 Messages : 313 ![]() |
http://ie2.php.net/file_exists
Par contre, je ne suis pas sur pour cette instruction que tu aies besoin de modifier allow_url_fopen mais a verifier tout de meme. |
|
|
00
|
|
|
#5 |
|
Membre à l'essai
![]() Inscription : mai 2007 Messages : 146 ![]() |
Super, merci.
Je ne peux pas tester maintenant la chose, mais je le ferai sans doute demain. Sur le lien que tu viens de me donner, ils parlent de vérifier la présence ou non d'un fichier. Admettons, et ça sera le cas, que je veuille vérifier la présence d'une simple donnée texte. Par exemple, je veux vérifier que le mot "blabla" existe, dois-je utiliser la même chose? Je me pose réellement la question... parce que "file_exists" va-t-il vérifier réellement que "image.jpg" existe ou va-t-il vérifier que l'appel est bien effectué? Merci de ton aide, et désolé de ne pas pouvoir tester ça maintenant. David |
|
|
00
|
|
|
#6 |
|
Membre éprouvé
![]() ![]() Inscription : août 2006 Messages : 313 ![]() |
jpeg est un fichier, le mot blabla est contenu dans un fichier. C'est 2 choses differentes.
Pour le jpeg, je sais que j'ai effectué des uploads par cette methode sans soucis. je n'ai pas mon code à portée de la main pour verifier. Pour le mot blabla, il te faudra ouvrir le ficher html (va l'uploader sur le serveur), charger son contenu, parser le contenu avec une expression réguliere ou autre chaine de recherche de caractere. |
|
|
00
|
|
|
#7 | ||||
|
Membre à l'essai
![]() Inscription : mai 2007 Messages : 146 ![]() |
Hum, j'ai tenté d'avancer un peu dans mes recherches en faisant des tests. Puisque ma requête porte sur la présence d'une chaîne de caractères, et non d'un fichier, j'ai trouvé deux fonctions qui pourraient m'être utiles.
preg_match() et preg_match_all(). J'ai tenté avec la première mais j'ai bien l'impression qu'on ne peut pas effectuer la recherche sur une page distante. Cependant avec la seconde, je ne comprends pas comment l'exploiter... J'ai donc essayé avec la première, en partant de l'exemple donné sur php.net, à savoir: Code :
Code :
Dois-je me résoudre à utiliser preg_match_all? Si oui quelqu'un peut me faire un exemple super simple d'utilisation? Je n'arrive pas à faire fonctionnes les exemples de php.net. Merci bien encore une fois David |
||||
|
|
00
|
|
|
#8 |
|
Membre à l'essai
![]() Inscription : mai 2007 Messages : 146 ![]() |
Je me rend compte que mon message n'est plus sur le forum approprié. Je vous remercie de m'avoir aiguillé sur le bon chemin.
Je vais poser ma question sur le forum correspondant. Bonne soirée à tous! David |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com