PHP Simple HTML DOM Parser
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) :
Code:
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"/>';
?> |
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:
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 |
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.