[PHP] haute voltige

haute voltige [PHP] - Programmation

Marsh Posté le 06-06-2001 à 20:17:39    

bon alors la le prbleme c de lancer des prog en tachende fond.
 
mon idée c de dmander un page php par un fsocketopen(). jusque la tt va bien.
 
le script se lance. en faisant un fgets() sur le socket ouvert si le ca renovi un "http 1.1/ 200 ok" ou un truc du genre on ferme la connection comme ca le script appellant peut continuer son taf du genre afficher que le script appellé est lancé (je pense a des scripts particulierement long comme des ftp sur des sites a faible bade passante ou des emails a bcp de persones, ou meme a un script de maintenace de la base de donnée (pour verifier l'integrité, j'en passe et des meilleures)
 
voila, on pourrais avec ignore_user_abort() continuer le script appellé. c la que ca couille.
 
le script appellé est automatiquement terminé.
 
j'aiemrais savoir si qq un connait un methode pour pas que ca se finisse ....
 
je ne sait pas a quel niveau ca se situe (apache? php?)
 
merci bien

Reply

Marsh Posté le 06-06-2001 à 20:17:39   

Reply

Marsh Posté le 06-06-2001 à 20:41:37    

up

Reply

Marsh Posté le 07-06-2001 à 19:58:48    

Essaye pfsockopen() D'après la doc de nexen ( www.nexen.net ), c'est comme fsockopen() à la difféence que le script appelé n'est pas tué quand on ferme la liaison.
 
Vu que t'as l'air de connaitre un peu le système des socket, est_ce que tu peux m'expliquer comment je dois m'y prendre pour appeler un script php sur un autre serveur (ca je pense avoir compris), lui envoyer des paramêtres et récupérer ensuite le résultat du traitement?

Reply

Marsh Posté le 07-06-2001 à 23:54:15    

omega2 a écrit a écrit :

Essaye pfsockopen() D'après la doc de nexen ( www.nexen.net ), c'est comme fsockopen() à la difféence que le script appelé n'est pas tué quand on ferme la liaison.  
 
Vu que t'as l'air de connaitre un peu le système des socket, est_ce que tu peux m'expliquer comment je dois m'y prendre pour appeler un script php sur un autre serveur (ca je pense avoir compris), lui envoyer des paramêtres et récupérer ensuite le résultat du traitement?




 
alors non je n'y connait pas grand chose au sockets. mais j'ai trouve quelque chose!! enfin pas moi mais qq d'autre. le concept est d'envoyer les parms comme lke fait un navigateur!
 
une soluce se trouve la :
 
http://www.php.net/manual/en/function.fsockopen.php
 
et pour t'eviter d'aller chercher betement voici le code.
 

Code :
  1. // Data to pass to the cgi script
  2. $name = 'John Doe';
  3. $email = 'johndoe@domain.com';
  4. $msg = 'Nice site, I love your animated gif collection!';
  5. // Build the request string
  6. $request  = 'name=' . urlencode($name);
  7. $request .= '&email=' . urlencode($email);
  8. $request .= '&msg=' . urlencode($msg);
  9. // Build the header
  10. $header  = "POST /guestbook/add.php3 HTTP/1.0\r\n";
  11. $header .= "Content-type: application/x-www-form-urlencoded\r\n";
  12. $header .= "Content-length: " . strlen($request) . "\r\n\r\n";
  13. // Open the connection
  14. $fp = fsockopen('www.domain.com', 80, &$err_num, &$err_msg, 30);
  15. if ($fp)
  16. {
  17. // Send everything
  18. fputs($fp, $header . $request);
  19. // Get the response
  20. while (!feof($fp))
  21. $response .= fgets($fp, 128);
  22. }


 
ce qui n'est pas pratique c'est que c'est une requete en http version 1.0, et le must have maintenant c'est le HTTP 1.1 (les puristes dirons pourquoi, en gros certains sites sont sur des serveurs avec je crois la meme ip donc sans http1.1 - la deuxieme ligne c Host : www.php.net par ex - ca ne marchera pas.
 
a adapter (j essaye mais j'y connait rien en HTTP)
 
sinon je tourne ss linux, - merci darkschneider

Reply

Marsh Posté le 08-06-2001 à 12:31:42    

Oui, merci à lui et à toi. Je m'imprime tout ca afin de l'avoir sous les yeux quand je vais créé la partie du programme qui l'utilise.
Merci encore pour ce super morceau de programme.

Reply

Sujets relatifs:

Leave a Replay

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