Page 1 sur 1

Extraire des infos depuis une source http

Posté : 15 févr. 2006, 16:06
par mario
Bonjour,

Je souhaite extraire une donnée d'un site interne. Pour cela j'utilise stream_get_contents() pour mettre le flux en mémoire:
<?php
$url = 'http://www.mon_exemple.fr';
$stream = fopen($url, 'r') or die("ERREUR D'OUVERTURE");
$source = stream_get_contents($stream);
$masque = "<p style=\"padding-top: 5px;\">(.*)</p></td>";
ereg($masque,$source,$out) or die("ERREUR");
echo $out[1]; // J'OBTIENS L'INFO SOUHAITEE.
?>
Cela fonctionne mais je me rend compte que le temps de réponse n'est pas génial (un peu plus d'1 seconde).

Comment obtenir une information plus rapidement ?
Merci pour votre aide

Posté : 15 févr. 2006, 16:51
par fab
la fonction stream_get_contents permet de mettre en parametre une taille maximum a recuper déjà ça peut etre pas mal si tu connais a peu pres la taille de l'information que tu souhaites récuperer.
Sinon connais tu bien cette fonction ? moi pour ce genre de cas j'utilise file_get_contents.
Apres niveau performance tu peux voir du de preg a la place de ereg : les PREG sont des expressions plus rapides que les POSIX
( a savoir aussi que les POSIX vont être supprimées dans php6.

Dernier recourt un système de cache sur cette information sauf que dans ce cas là tu auras quand meme besoin de la récuperer une fois de temps en temps.