Bonjour,
J'utilise la classe "PHP Simple HTML DOM Parser" pour récupérer les informations d'un site distant (après avoir tapé un n° ISBN dans un formulaire) :
Ce code fonctionne dès lors que la page chargée du site distant existe. Mais si la page n'existe pas (en l'occurrence si le site ne référence pas le livre recherché), j'ai les erreurs suivantes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 <?php if(!empty($_POST) && !empty($_POST['isbn_search'])) { $isbn_search = mysql_real_escape_string($_POST['isbn_search']); require_once 'scripts/simplehtmldom_1_5/simple_html_dom.php'; $html = new simple_html_dom(); $html->load_file('http://www.site.com/livres/'.$isbn_search.'.html'); $titre= $html->find('h1',0)->plaintext; echo'<input type="text" value="'.$titre.'"size="100"/>'; ?>
Pour éviter ces erreurs, je souhaiterais ne pas exécuter la récupération de la page (et afficher un message "livre non référencé") si la page appelé ($html->load_file('http://www.site.com/livres/'.$isbn_search.'.html') n'existe pas. Voyez-vous comment procéder ? Merci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Warning: file_get_contents(http://www.site.com/livres/97822620.html) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in C:\wamp\www\scripts\simplehtmldom_1_5\simple_html_dom.php on line 850 Fatal error: Call to a member function find() on a non-object in C:\wamp\www\scripts\simplehtmldom_1_5\simple_html_dom.php on line 879
Partager