[php] je dois récupérer le contenu d'un fichier avec un socket...

je dois récupérer le contenu d'un fichier avec un socket... [php] - Programmation

Marsh Posté le 26-03-2002 à 09:56:21    

Hello every body :hello:  
 
bah, il faut que j'utilise les sockets en php
 

Code :
  1. $mysock = fsockopen($proxy1, $proxy_port, &$errno,&$errstr);    fputs($mysock,"GET $monURL/ HTTP/1.0\n\n" );
  2. while (!feof($mysock)) {
  3. $zeile = fgets($mysock,1000);
  4. if ( $zeile="\n" ) { $header=0; }
  5. if ( $header == 0 ) {
  6.       echo $zeile;
  7.       }


 
tout ce que j'arrive à récupérer, c'est le header... pas le contenu de mon fichier...
donc, si kkun voit comment ke je dois faire...
 
thx
A+
Dropsy

Reply

Marsh Posté le 26-03-2002 à 09:56:21   

Reply

Marsh Posté le 26-03-2002 à 10:01:49    

Erreur Classique :
 
if ( $zeile="\n" )
 
Pense à mettre un == et çà devrait aller mieux !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 26-03-2002 à 10:16:30    

Mara's dad a écrit a écrit :

Erreur Classique :
 
if ( $zeile="\n" )
 
Pense à mettre un == et çà devrait aller mieux !  




 
 :jap: ok, celle là je l'avais pas vu...
mais le problème vient pas de là :(  
j'ai réctifié l'erreur, mais j'arrive toujours pas à récupérer le contenu du fichier...
 
qqun aurait pas une doc ou un tuto sur l'utilisation des sockets en php?? (et pas www.php.net qui dit pas grand chose à ce sujet, hélas...)
 
A+
Dropsy

Reply

Marsh Posté le 26-03-2002 à 10:21:36    

Et dans ce fameux header que tu reçois, y'a pas un message d'erreur ? ? ?
 
Je sais pas, mais sur les sockets, y'a pas grand chose d'autre à dire pour ce que tu en fais. A part peut-être qu'en HTTP, il fait se reconnecter à chaque requête...


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 26-03-2002 à 10:33:43    

bah ça correspond à ça:
 

Code :
  1. HTTP/1.1 200 OK
  2. Server: Netscape-Enterprise/3.6 SP3
  3. Date: Mon, 25 Mar 2002 13:38:22 GMT
  4. Set-cookie: RMID=a05c6fe53c9f2840; expires=Fri, 31-Dec-2010 23:59:59 GMT; path=/; domain=**************
  5. Content-type: text/html
  6. Expires: Tue, 25 Apr 1995 09:30:27 -0700
  7. Pragma: no-cache


 
et pis plus rien...

Reply

Marsh Posté le 26-03-2002 à 10:41:27    

Bon, tu peux mettre le code complet de ta boucle parce-que je ne comprends pas çà :
 

Code :
  1. $zeile = fgets($mysock,1000);
  2. if ( $zeile=="\n" ) { $header=0; }


 
Comment $zeile peut-il être égale à "\n" alors que tu lis 1000 octets ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 26-03-2002 à 10:49:00    

Mara's dad a écrit a écrit :

Bon, tu peux mettre le code complet de ta boucle parce-que je ne comprends pas çà :
 

Code :
  1. $zeile = fgets($mysock,1000);
  2. if ( $zeile=="\n" ) { $header=0; }


 
Comment $zeile peut-il être égale à "\n" alors que tu lis 1000 octets ?  




 
bah le code est complet... il manque peut-être une accolade fermante à la fin.
en fait fgets retourne 1000 caractères ou une ligne... au premier des deux termes atteints... donc si on a une ligne vide, on récupère que \n .

Reply

Marsh Posté le 26-03-2002 à 11:07:39    

Quand tu fais çà :
fputs($mysock,"GET $monURL/ HTTP/1.0\n\n" );
 
Tu récupère un répertoire "$monURL/" sauf si y'a un fichier "index.htm" ou un truc du genre, c'est bien çà ?
 
C'est quoi le fichier que tu veux lire ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 26-03-2002 à 11:58:30    

ok, le pbm a été trouvé, il faut détecter \r\n et non \n
 
Merci de ton aide Mara's dad :hello:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed