Inclure un fichier cgi apres execution de celui-ci [PHP] - PHP - Programmation
Marsh Posté le 18-01-2004 à 12:05:25
ReplyMarsh Posté le 18-01-2004 à 14:20:32
o un truc tout con de mon hebergeur, il me calcul l'espace restant...
Marsh Posté le 18-01-2004 à 14:39:11
et pourquoi tu ne pourrais pas simplement utiliser la fonction exec et récupérer le résultat?
Marsh Posté le 18-01-2004 à 15:21:50
Bonne question, peut etre parce que je l'a connait pas etant debutant
je vais regarder cette fonction dan sla doc, thx
Edit : C'est quoi c'truc de ouf
Marsh Posté le 18-01-2004 à 15:29:42
euhhh .... et disk_free_space() ????
http://www.nexen.net/docs/php/anno [...] -space.php
Marsh Posté le 18-01-2004 à 15:36:15
Ah oui pourquoi pas, mais le principe etait surtout de comprendre comment on aurait pu faire ça avec le fichier cgi...
Je vois pas dutout comment faire, il faudrait que le fichier cgi soit executer, ensuite la source retournée serait include dans ma page .php
A oué c pas mal :
Code :
|
Mais j'en veut pas
Marsh Posté le 18-01-2004 à 15:38:37
ben tu creer un fichier temporaire dans lequel tu stockes les données retournées par ton cgi ..... et tu lis et affiche ce fichier depuis mapage.php
Marsh Posté le 18-01-2004 à 15:44:02
simogeo a écrit : ben tu creer un fichier temporaire dans lequel tu stockes les données retournées par ton cgi ..... et tu lis et affiche ce fichier depuis mapage.php |
Yep c'est exactement ça, le probleme, c'est comment le faire
Edit : C'est comme ça que tu ferais ?
Marsh Posté le 18-01-2004 à 15:45:04
KdZ' a écrit : |
ton cgi ecris le resultat dans un fichier txt et ta page php recupere les infos du txt.
Marsh Posté le 18-01-2004 à 15:47:41
KdZ' a écrit : |
ben je sais pas .. je ne connais pas exactement ton code ni le fonctionnement de ton cgi .....
fais comme bon te semble, tu trouveras de bons tutos facilement sur la manip de fichiers
Marsh Posté le 18-01-2004 à 15:50:29
Oki c cool, je vais essayer...
thx
Marsh Posté le 18-01-2004 à 22:14:18
ouarf, une petite astuce/fonction vite fait ?
Edit : J'arrive a rien
Marsh Posté le 19-01-2004 à 02:45:30
Marsh Posté le 19-01-2004 à 11:12:08
Le plus simple c'est dans ton code PHP, ua lieu de générer un fichier texte, tu gère directement le retour du cgi.
Je m'explique :
$retour_cgi = file_get_contents (url_de_ton_cgi);
Ensuite tu parses $retour_cgi pour en extraire les infos que tu souhaites et puis tu en fais ce que tu voulais.
Tout ça dans un seul script sans passer par un fichier temporaire.
Marsh Posté le 19-01-2004 à 13:01:57
Ok je vais essayer ça, autre question, les news de cetains site sont proposés en sortie xml/rss, ça sera pareil la ?
Marsh Posté le 19-01-2004 à 13:22:43
KdZ' a écrit : Ok je vais essayer ça, autre question, les news de cetains site sont proposés en sortie xml/rss, ça sera pareil la ? |
nan, le navigateur affichera directement le fichier xml ( bien que ses données soit générées en php )
Marsh Posté le 19-01-2004 à 13:56:09
Oui mais imagine sur les news je veux pouvoir virer une ligne (exemple : "news du site ..." ) ¿
Rhoo puis c pas ça mais pk y a pas de tuto sur le net pour la manipulation de xml/rss c'est chiant ça
Marsh Posté le 19-01-2004 à 14:38:39
ratibus a écrit : |
En faisant comme çà, il me retourne le code source du cgi
Marsh Posté le 19-01-2004 à 15:27:23
moi je ferais comme ca mais ca me semble un peu goret :
system("path/ton_cgi > path/tempo" );
et tu devrais trouver le resultat du cgi dans path/tempo
Marsh Posté le 19-01-2004 à 15:31:27
tu l'inclut avec un ssi pis basta, pk se prendre la tete...
Marsh Posté le 19-01-2004 à 17:01:39
ssi, ah en v'la des nouvelles choses dans ce topic
Je vais essayer de me renseigner... hum, ssi, il faut un serveur special pour ça nan ?
Marsh Posté le 19-01-2004 à 17:34:42
ben y faut apache koi, avec le module ssi, qui est livré avec.
Tu as plusieur facon , soit tu fait une page shtml qui inclut tes cgi et tes script php, soit tu modifie la config de apache pour qu'il execute le php dans les fichier shtml ,(ou le contraire, que les fichier php soit aussi server side parsed, (si on peut))
Marsh Posté le 19-01-2004 à 17:41:24
Ca, ça dependrea d'ovh... as tu un petit tuto sur ce que je veux faire ?
Marsh Posté le 19-01-2004 à 17:46:59
ben tu peut matter la: http://trustonme.net/didactels/?rub=230
l'exemple a la fin du point 2 te montre comment tu peux executer une cgi dans une page html
Marsh Posté le 19-01-2004 à 18:50:35
KdZ' a écrit : |
Non il inclut le résultat renvoyé par le script (tu accède au fichier par http et pas au niveau du système de fichier, donc tu n'as ue l'interprétation que le serveur à fait du cgi)
Marsh Posté le 20-01-2004 à 12:31:18
ratibus a écrit : |
Bordel
Code :
|
me retourne le code
Marsh Posté le 20-01-2004 à 12:37:25
KdZ' a écrit :
|
oui ben on s'en doute .........
en fait il faut que tu excéutes ton cgi ..... que tu récuperes le résultat et que tu le mettes dans un fichier ... c'est ce fichier qu'il faudra lire avec file_get_contents();
Marsh Posté le 20-01-2004 à 13:40:39
oki
Bon je ne pourrait pas avec les cgi, ovh 60gp ne le permet pas
Il me reste plus que file_get_contents();
Marsh Posté le 20-01-2004 à 19:34:11
KdZ' a écrit :
|
On n'a pas du se comprendre
Faut que t'installes ton CGI dans un répertoire d'Apache où il sera interprété
Puis tu fais un file_get_contents(url_de_ton_cgi)
Où url_de_ton_cgi, c'est pas "quota.cgi" mais "http://tonsite/quota.cgi"
Dans ce cas là PHP récupérera le retour du CGI (comme si tu y allais avec ton navigateur sur le CGI)
C'est plus clair ?
Marsh Posté le 20-01-2004 à 21:54:21
Effectivement
Donc là c logique ça fonctionne, c'est un peu de la bidouille ça, et mon but est d'apprendre, mais bon c'est pas grave, merci
Par contre, imagine que ce 'quota.cgi' soit placé dans un rep protégé par htaccess, là php nous retourne un truc du style :
Warning: file_get_contents(http://www.mon_site.com/admin/quota.cgi): failed to open stream: HTTP request failed! HTTP/1.1 401 Authorization Required in ...
Comment ça ce passe ?
ps : Inutile de me dire de mettre mon cgi dans un rep non protégé, cette fois ça ne sera pas si facile de s'en sortir
Marsh Posté le 20-01-2004 à 22:40:25
KdZ' a écrit : Effectivement |
Autorise l'ip du seveur !?
Marsh Posté le 20-01-2004 à 23:45:53
rhoo alors là je penssait pas que tu m'aurais donner cette reponse, c de la grosse bidouille là.
Eu, en php alors, tu ferais comment ?
il n'existe pas une fonction style httpconnect (comme pour ftp quoi )
Marsh Posté le 21-01-2004 à 11:54:31
KdZ' a écrit : Effectivement |
Le répertoire est complètement vérouillé (deny from all) ou bien y a un utilisateur qui a le droit d'y accéder ?
Si un utilisateur a le droit d'y accéder tu fais :
Code :
|
Marsh Posté le 21-01-2004 à 19:49:50
require valid-user
J'ai donc essayer ta methode : file_get_contents('http://admin:rootpim@www.pim.asso.fr/admin/_quota.cgi');
Mais rien ne s'affiche
Marsh Posté le 21-01-2004 à 22:04:41
ReplyMarsh Posté le 22-01-2004 à 08:49:15
t'as du te gourer dans le mot de passe, non ?
car quand j'essaie cette url dans mon navigateur : http://admin:rootpim@www.pim.asso.fr/admin/_quota.cgi, il me remplit bien le champ du login en me disant que le pass et incorrect (normal, je pense, tu n'as pas du mettre le mot de passe réel )
Mais cette technique marche (login:pass@site)
Marsh Posté le 22-01-2004 à 11:49:09
Lol il m'a pris pour un ouf
C donc toi 195.25.232.***
Arf, pourtant je t'assure ne pas m'etre gourer dans la pass...
Si tu avais du faire comme moi tu aurais fait comment ?
Marsh Posté le 18-01-2004 à 01:33:44
Comment faire pour faire en sorte ( c pas mal tourné ça) que je puisse include() un fichier .cgi mais seulement apres que celui ci est retourné les valeurs (apres execution quoi ) parce que include('my_cgi_file.cgi') evidemment, il me retourne le code
Thx
---------------
GENERATION MOBILES : Imprimantes GSM & logos/sonneries/jeux