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

Mysterious_fea Messages postés 406 Statut Membre -  
Mysterious_fea Messages postés 406 Statut Membre -
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

2 réponses

xxkirastarothxx Messages postés 415 Statut Membre 40
 
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 406 Statut Membre 35
 
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