[PHP] Problème fopen d'une url [Résolu] - lecture partielle de la page

bonjour,

J’ai quelques problèmes avec mon code et j’en vois pas la solution.

J’essai de récupérer les infos d’une page web, mais mon code charge que partiellement le contenu. Je pense qu’il “n’attend” pas le chargement complet des infos sur cette page.


<?php  
$url = "http://myplanetside.station.sony.com/leaderboard.jsp";
$fd = fopen ($url, "rb"); 

while (!feof ($fd)) {   
  $data = fgets($fd, 4096);    
  echo $data;  
} 

fclose ($fd);
?>

Quelqu’un aurrait une solution ? une astuce ?

Merci par avance

readfile($url);

:slight_smile:

C’est pareil :confused:

merci quand même :slight_smile:

Bonsoir,

Tu utilises quelle version de PHP ?

A+

Zythan

Salut

Je dev sur une version 5.1.2

a++

essaye plutôt

echo file_get_contents($url);

(les urls sont supportés en php5 uniquement)

Toujours, pareil :confused:

La page distante se charge en 2 fois : une première partie est affichée et quelques secondes après le reste, du coup mon script ne lit que la première partie …

je crise …

Bonsoir,

Tu as activé le parametre allow_url_fopen dans le php.ini ?

A+

Zythan

Il est bien activé :slight_smile:

Ton serveur distant, il est facile ou non à accéder?

Oui …

Bon j’ai réussi par le biai de la lib cURL, mais pas le reste :confused:

Résolu !!!!! :bounce:

Il suffit de définir le user agent :


ini_set('user_agent','Mozilla: (compatible; Windows XP)');

Donc le code modifié :



<?php 
ini_set('user_agent','Mozilla: (compatible; Windows XP)');
 
$url = "http://myplanetside.station.sony.com/leaderboard.jsp";
$fd = fopen ($url, "rb"); 

while (!feof ($fd)) {   
 $data = fgets($fd, 4096);    
 echo $data;  
} 

fclose ($fd);
?>