Bonjour,
Voici mon code :
Code :
- $serveur = 'www.monurl.com';
- $script = '/dir/traitement.php';
- $fp = fsockopen($serveur, 80, $errno, $errstr, 30); // Ouverture d'une connexion sur le port 80 du serveur
- if (!$fp){
- echo 'et non!';
- }else{
- $data = 'login='.urlencode($login).'&pass='.urlencode($pass);
- if(count($vars) > 0){
- foreach($vars as $cle=>$value){
- $data .= '&'.$cle.'='.urlencode($value);
- }
- }
- $envoi = "POST $script HTTP/1.1\r\n";
- $envoi .= "Host: $serveur\r\n";
- $envoi .= "Connection: Close\r\n";
- $envoi .= "Content-type: application/x-www-form-urlencoded\r\n";
- $envoi .= "Content-Length: ".strlen($data)."\r\n\r\n";
- $envoi .= $data."\r\n";
- $retour = "";
- fwrite($fp, $envoi);
- while (!feof($fp)) {
- $retour .= fgets($fp, 4096);
- }
- fclose($fp);
- return $retour;
- }
|
Ca me retourne un fichier XML, et mon souci est que lorsque je fais une requete pour récupérer 5 lignes de resultats, ca marche sans souci, mais lorsqu'il y a plus de résultat, j'ai un 0 qui se glisse en fin de page de resultat...
exemple :
Code :
- [...]
- <element>
- <id>345260</id>
- <date><![CDATA[04-04-2010]]></date>
- <date_fin><![CDATA[04-04-2010]]></date_fin>
- <nom><![CDATA[Meaux]]></nom>
- </element>
- <element>
- <id>345261</id>
- <date><![CDATA[10-04-2010]]></date>
- <date_fin><![CDATA[10-04-2010]]></date_fin>
- <nom><![CDATA[Meaux]]></nom>
- </element>
- </reponse>
- 0
|
Coté serveur intérrogé il n'y a pas de souci, le problème vient donc de l'interprétation de la réponse.. (feof, fgets...)
Une idée ? Merci !!
Message édité par zazerty le 22-01-2010 à 15:46:47