Récupérer une partie d'une page distante

Fermé
Mysterious_fea Messages postés 401 Date d'inscription vendredi 29 juin 2007 Statut Membre Dernière intervention 23 mars 2013 - 17 juin 2009 à 09:34
Mysterious_fea Messages postés 401 Date d'inscription vendredi 29 juin 2007 Statut Membre Dernière intervention 23 mars 2013 - 8 sept. 2009 à 11:01
Bonjour,
Je voudrais récupérer, avec la fonction file_get_contents, le contenu de la page example.com de la ligne 100 à la ligne 200. J'ai essayé :
<?php
$data=file_get_contents('http://www.example.com');
$begin=100;
$end=200;
$data=substr($data,$begin,$end-$begin);
?>

Mais il me retourne un code vide.
Comment faire ?
Merci
A voir également:

2 réponses

xxkirastarothxx Messages postés 378 Date d'inscription vendredi 19 octobre 2007 Statut Membre Dernière intervention 22 mars 2013 40
17 juin 2009 à 10:58
je ne peux pas utiliser le file_get_content, je passe par un proxy; mais...
déjà qu'est-ce que ça donne si tu fais simplement:
(echo) file_get_contents('http://www.example.com');

tu peux aussi essayé avec include ou require.
=> si ça plante, essaye de regarder si ton php.ini autorise l'include d'url distante (recherche "include" c'est une option qui dois ressemblé à un truc genre allow_include_url )

et la dernière solution de force je dirais:
CuRl : https://www.php.net/curl

imparrable.
tu as un option (mod_curl je crois) à activer dans ton php.ini
puis un petit script:

<?php
        $ch = curl_init("www.example.com");
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $output = curl_exec($ch);      
        curl_close($ch);
        echo $output;
?>


Bonne chance.
0
Mysterious_fea Messages postés 401 Date d'inscription vendredi 29 juin 2007 Statut Membre Dernière intervention 23 mars 2013 35
8 sept. 2009 à 11:01
Salut
Je reviens vers toi parce que j'ai repris mon code.
J'ai fait activer les URL distante, et j'obtiens bien la page quand je fais echo $data.
Seulement voilà, j'aimerais récupérer seulement les lignes 10 à 15, par exemple. Quelle fonction utiliser ?
Parce que substr ($data,$debut,X) extrait X caractères, et non pas X lignes !
Comment faire ?
Merci
0