begin process at 2008 07 25 12:49:16
1 216 226 membres
190 nouveaux aujourd'hui
14 180 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

FLUX D'ENTRÉE ET DE SORTIE


Information sur la source

Description

Qui n'a jamais eu besoin de récupérer dans un script PHP des données envoyées par une application tierce ?
Perso j'ai eu le problème pour récupérer du texte d'une applet Java d'édition de texte.

Quel est le problème ?
En fait, l'application fournit le texte en vrac. Or, $_POST retourne un tableau... Donc tout caractère &, # et autres vont venir compliquer la récupération.
Le gros problème est qu'on ne peut pas modifier l'application à la source des données.

La solution est de récupérer telle quelle la requête web envoyée au script PHP.
Voila comment faire, très simplement, avec une fonction usuelle mais que peu de monde sait utiliser d'une manière plus approfondie :

Source

Conclusion

Pour les newbies, cette fonction retourne un tableau. Pour afficher le texte complet :

echo join("", file("php://input"));

Cet exemple fini, je me permets de vous citer la doc PHP qui sera plus efficace qu'un long discours :

---------------------
Flôts d'entrée/sortie
---------------------
PHP 3.0.13 et plus récent, php://output et php://input depuis PHP 4.3



php://stdin

php://stdout

php://stderr

php://output

php://input



php://stdin, php://stdout et php://stderr donne accès au flux correspondant d'entrée ou de sortie du processus PHP.

php://output vous permet d'écrire dans le buffer de sortie, de la même manière que print() et echo().

php://input permet de lire des données POST bruts. C'est moins gourmand en mémoire que $HTTP_RAW_POST_DATA et il n'y a pas de directive spéciale dans php.ini.

php://stdin et php://input sont lecture seule, tandis que php://stdout, php://stderr et php://output sont en écriture seule.

php://filter est une sorte de méta-gestionnaire, prévu pour qui permet l'utilisation de filtre avec les données d'entrée au moment du démarrage du script. C'est pratique avec des fonctions compactes comme readfile(), file() et file_get_contents() où il n'y a pas d'opportunité d'appliquer un filtre aux données lues.
  • signaler à un administrateur
    Commentaire de Kirua le 07/09/2004 17:23:24

    si par exemple je veux récupérer ce qu'un programme (.exe sous win) écrit dans une console, je fais comment?

    càd que je voudrais pvr écrire des applis en C++ très spécifiques, auxquelles j'envoie des paramètres via php et qui me renvoient des infos (calculées dans le programme).

    ça fait une sorte de CGI, mais avec la souplesse de php et puis je dois pas écrire mon programme comme un CGI, n'importe quelle appli C++ console que j'ai déjà fait l'affaire.

  • signaler à un administrateur
    Commentaire de Kirua le 08/09/2004 15:55:04

    c'est bon, trouvé ;)
    y a un tas de fct: exec, passthru, `commande`, shell_exec, system... chacun sa façon!

    par contre j'en n'ai pas trouvée qui permettait d'envoyer des infos au programme qd il en demande (je vuex dire écrire sur son flux std d'entrée, ce qu'on récupère par cin en C++ ou scanf en Cà)

  • signaler à un administrateur
    Commentaire de slyderkiller le 03/09/2005 15:23:13

    Bonjour
    est pour récuperer des variables d'un applet java pour les utiliser ensuite vers php c'est possible?

Ajouter un commentaire

Pub



Appels d'offres

Animation Flash alimen...
Budget : 6 000€
Creation portail video
Budget : 3 000€
Site de e-commerce
Budget : 5 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS