Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2000 connectés 

  FORUM HardWare.fr
  Programmation

  [PHP] fsockopen et fopen (Free et Multimania) - page web distante

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] fsockopen et fopen (Free et Multimania) - page web distante

n°95000
disconect
Posté le 30-01-2002 à 16:52:10  profilanswer
 

bonjour,
je me sers actuellement, sur free.fr, de la fonction fsockopen
pour ouvrir une page web a distance et integrer son contenu sur mon site, mais j'ai 2 petits "pb" avec le code suivant:
 
$fp = fsockopen("books.dreambook.com", 80, &$errno, &$errstr, 60);
if(!$fp) {
 echo "$errstr ($errno)<br>\n";
} else {
 fputs($fp,"GET /malleusmaleficarum/forum.html HTTP/1.0\n\n" );
 while(!feof($fp)) {
                          echo fgets($fp,15000);
 }
 fclose($fp);
}
 
donc il m'affiche la page que je veux, pas de pb mais au debut
de cette page il met l'entete Http:
HTTP/1.1 200 OK Date: Wed, 30 Jan 2002 15:48:15 GMT Server: Apache/1.3.19 (Unix) mod_gzip/1.3.19.1a mod_ssl/2.8.1 OpenSSL/0.9.4 PHP/4.0.6 Last-Modified: Tue, 29 Jan 2002 02:01:40 GMT ETag: "20099f-2ada1-3c560284" Accept-Ranges: bytes Content-Length: 175521 Connection: close Content-Type: text/html  
 
et je trouve pas le moyen de la virer !
 
Sinon, pour information, qd j'etais sur Multimania, vu qu'il n'autorise pas le fsockopen, je faisais un fopen, et donc pouvais
afficher seulement les choses qui m'interessait (c'etait moins rapide mais j'avais plus de pub sur mon dreambook :), avec le code suivant:
 
$fp = fopen("http://books.dreambook.com/malleusmaleficarum/forum.html","r" );  
while (!feof($fp)) {  
$page .= fgets($fp, 1);  
}  
$titre = eregi("</center>(.*)<table>",$page,$regs);  
echo $regs[1];  
 
 
Donc en fait j'aimerais me servir de eregi avec un fsockopen, comme ça , ça reglerait d'un coup ces 2 pb, mais je ne vois pas
comment faire en fait :)...
 
Merci d'avance pour votre aide !

mood
Publicité
Posté le 30-01-2002 à 16:52:10  profilanswer
 

n°95006
disconect
Posté le 30-01-2002 à 17:10:02  profilanswer
 

heu....personne n'a ne serait ce qu'une ebauche de solu° a me proposer ? plz ?  :pt1cable:  
au fait, pour info Free ne fait pas fopen mais fsockopen
et Multimania inversement.

n°95054
FLY LM
Posté le 30-01-2002 à 18:46:47  profilanswer
 

Disconect a écrit a écrit :

heu....personne n'a ne serait ce qu'une ebauche de solu° a me proposer ? plz ?  :pt1cable:  
au fait, pour info Free ne fait pas fopen mais fsockopen
et Multimania inversement.  




 
Si chez Free tu peux utiliser fopen() (en PHP3 et 4) !!!
 
 
Pour ton problème tu peux attendre d'atteindre la première balise HTML pour récupérer le contenu...
 
$contents = fgets($fp,512);
       
while(preg_match("/^[^<]+$/",$contents,$reg))
{
         $contents = fgets($fp,512);
}
 
while(!feof($fp))
{
 $h_html .= fgets($fp,512); //Ta page HTML
}
       
fclose($fp);
 
A développer...

n°95064
disconect
Posté le 30-01-2002 à 19:04:22  profilanswer
 

merci pour ta reponse, mais je t'assure que le script avec fopen ne fonctionne pas sur free, il ne m'affiche rien du tout, c bizarre !  
sinon, suis en train d'essayer de me servir de ta methode,mais
je ne comprend pas vraiment tout ce qu'elle fait ...

n°95068
potiron
...
Posté le 30-01-2002 à 19:09:07  profilanswer
 

suffit que tu stockes le contenue de la page dans une var et tu la tritures pour virer les X eres lignes ..

n°95106
disconect
Posté le 30-01-2002 à 20:20:40  profilanswer
 

ouais ok, mais comment on fait en fait...  
Bon sinon, je pense que je vais faire mon propre guestbook en php à la dreambook. Vous en pensez quoi ? sachant que je suis chez Free, l'acces SQL ne sera pas trop long ? (les acces actuels que je fait ne sont que pour environ 100 enregistrements,
tandis que là pour le guestbook ce sera plus du double , idem  
pour le contenu des champs, etc...) c'est gerable ?
 
merci d'avance  :hello:

n°95144
FLY LM
Posté le 30-01-2002 à 22:54:33  profilanswer
 

Disconect a écrit a écrit :

ouais ok, mais comment on fait en fait...  




 
Tu utilises le code que je t'ai donné, ta page est dans la variable $h_html...
 
Sinon, entre 100 enregistrements ou 1000, voir 10000 si tu te demerde bien à la construction de tes tables et de tes requêtes cela ne change pas grand chose. Le problème de Free est tout autre, d'abord c'est du CGI, ce qui implique que tu ne peux pas faire de connexions permanentes sur MySQL (tu te reconnectes à chaque fois que tu exécutes une requête = perte de temps) et les serveurs sont plus ou moins en charge.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [PHP] fsockopen et fopen (Free et Multimania) - page web distante

 

Sujets relatifs
[ PHP ] - formulaire - upload de fichier sur un serveur.[PHP] -> Kilio.com envoyé un mail
HTML/PHP : comment utiliser 2 boutons SUBMIT dans un FORM ???????page webet base de données
[PHP--Sessions] -> Sécu forum : temps utilisable ?[PHP/APACHE]
Formulaires : mise en page des mails[SQL + PHP] Rapidité => comment faire
[PHP] Aidez moi a finir un script d'upload par HTTP !!script pour calculer le tps de generation d'une page
Plus de sujets relatifs à : [PHP] fsockopen et fopen (Free et Multimania) - page web distante


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR