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

  FORUM HardWare.fr
  Programmation
  PHP

  éxécuter un fichier php à partir d'un autre (avec get)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

éxécuter un fichier php à partir d'un autre (avec get)

n°1515193
theredled
● REC
Posté le 15-02-2007 à 17:56:38  profilanswer
 

Hello

 

Voilou je suis à l'intérieur d'un script 1, et je voudrais éxecuter un script 2 (avec des paramètre en get), puis revenir au script 1.

 

un truc du style

Code :
  1. blabla;
  2. executer('../scripts/fichier.php?id=75');
  3. echo 'ok';
 

Je précise que :
- Les includes ne marchent pas car ça fait foirer tous les chemins relatifs à l'interieur du script 2
- fopen ne va pas car il n'accepte pas de GET.

 

:'(
Merci !

Message cité 1 fois
Message édité par theredled le 15-02-2007 à 17:57:33

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
mood
Publicité
Posté le 15-02-2007 à 17:56:38  profilanswer
 

n°1515222
dcvlm
Yep
Posté le 15-02-2007 à 18:47:51  profilanswer
 

1/C bizarre que les includes ne passent pas .. C quoi que tu appelles chemins relatifs ????
2/Ils font quoi tes scripts ? Y'a juste des traitements ? Ou bien y'a de l'affichage écran ??
 
:hello:

n°1515230
theredled
● REC
Posté le 15-02-2007 à 19:02:41  profilanswer
 

1/ un chemin relatif c'est genre '../images/image.gif' par ex.
- si le fichier contenant l'include est situé dans /admin/dossier/dossier2/dossier3, il cherchera l'image dans /admin/dossier/dossier2/images/image.gif
- si le fichier contenant l'include est situé dans /admin/dossier, il cherchera l'image dans /images/image.gif.
il est donc impossible d'appeler des fichiers à partir d'un include appeller de différents endroits.
 
2/ le script appelé génère un fichier PDF et l'enregistre sur le serveur, donc non, pas d'affichage écran.


Message édité par theredled le 15-02-2007 à 19:03:19

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1515233
flo850
moi je
Posté le 15-02-2007 à 19:08:51  profilanswer
 

et sinon, tu sais que php permet d'utiliser des fonctions  
 
donc tu fais un require_once '../scripts/fichier.php';  
puis tu fais genererPdf(75){}
 
c'est quand meme plus propre, non?

n°1515303
leflos5
On est ou on est pas :)
Posté le 15-02-2007 à 23:57:31  profilanswer
 

Et puis pour l'explication, soit l'exemple des images est mal choisi soit il te manques un truc, parce que les images c'est le serveur web qui les sert si on parle http ;)
 
Maintenant si tu parles d'images pour le document pdf à générer, faudra peut être faire un peu de personnalisation plutot que du simple copier/coller [:itm]
 
Et un script qui est dépendant du chemin d'un autre, si c'est pas un choix pour des raisons correctes, ça pue :o
 
Donc on sort les doigts du cul, on enfile une paire de Mappa et on rajoute une constante ;)

n°1515358
theredled
● REC
Posté le 16-02-2007 à 09:54:17  profilanswer
 

flo850 a écrit :

et sinon, tu sais que php permet d'utiliser des fonctions

 

donc tu fais un require_once '../scripts/fichier.php';
puis tu fais genererPdf(75){}

 

c'est quand meme plus propre, non?

 
leflos5 a écrit :

Et puis pour l'explication, soit l'exemple des images est mal choisi soit il te manques un truc, parce que les images c'est le serveur web qui les sert si on parle http ;)

 

Maintenant si tu parles d'images pour le document pdf à générer, faudra peut être faire un peu de personnalisation plutot que du simple copier/coller [:itm]

 

Et un script qui est dépendant du chemin d'un autre, si c'est pas un choix pour des raisons correctes, ça pue :o

 

Donc on sort les doigts du cul, on enfile une paire de Mappa et on rajoute une constante ;)


Sauf que, messieurs les professeurs, j'ai pas envie de décrire tout le projet, je pose une simple question, je ne vous demande pas de me résoudre mon problème (que vous ne connaissez pas).

 

Simple exemple, ta constante tu peux te la mettre quelque part si c'est pour faire des includes en chemin relatif à l'intéreur du script appelé (c'est bon j'ai trouvé un bon exemple on peut arreter de jouer au con ? [:mr blue])

 

Après, si vous n'avez pas de réponse, pas obligé de répondre ;)

 

Je comprendrais jamais cette manie d'avoir par défaut une attitude méprisante et donneuse de leçons sans connaitre le contexte :sarcastic: et non, j'ai pas envie d'expliquer le contexte, j'ai posé une question, point.

 
leflos5 a écrit :

Et un script qui est dépendant du chemin d'un autre, si c'est pas un choix pour des raisons correctes, ça pue :o


Mais tu as tout compris, c'est justement ce que je veux éviter [:dawa]

Message cité 1 fois
Message édité par theredled le 16-02-2007 à 10:01:34

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1515365
rufo
Pas me confondre avec Lycos!
Posté le 16-02-2007 à 10:08:37  profilanswer
 

dirname(__FILE__) ne peut pas t'aider?

n°1515377
theredled
● REC
Posté le 16-02-2007 à 10:27:16  profilanswer
 

rufo a écrit :

dirname(__FILE__) ne peut pas t'aider?


Pour les includes ? Je ne vois pas comment...

 

Mais dans tous les cas, si je trouvais un moyen d'éxécuter directement le script à la fopen, ce serait plus propre, car je n'aurait pas à modifier tout le script appelé et tous ses includes pour une petite fonctionnalité...

 

Car sinon j'ai plusieurs autres solutions plus simples qu'une constante, passer des arguments du GET en session, puis utiliser fopen, entre autres... Mais je cherche un moyen *simple*, sans avoir à recoder.


Message édité par theredled le 16-02-2007 à 10:33:35

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1515500
flo850
moi je
Posté le 16-02-2007 à 14:08:13  profilanswer
 

en meme temps, tu vas peut etre me redire que je joue au professeur méprisant, mais utiliser un fopen pour passer des arguments en GET via une session, ca me fait  bondir .
 
 
et ne pas se renseigner sur ce qu'on te propose ( dirname(__FILE__) te donne ton chemin absolu, il est donc facile de faire l'include correctement ensuite )  
 
 
tu peux aussi jouer avec chdir, mais garre aux effets secondaires
 
Mais bien sur, tu es le seul a travailer sur de vrai projets en php et donc à rencontrer de vrais problèmes, nos conseils de béotiens sont donc inutiles et malvenus , vu que tu detient la vérité

n°1515526
Chaos Inte​stinal
Posté le 16-02-2007 à 14:23:06  profilanswer
 

theredled a écrit :

Sauf que, messieurs les professeurs, j'ai pas envie de décrire tout le projet, je pose une simple question, je ne vous demande pas de me résoudre mon problème (que vous ne connaissez pas).


 
Hey sac à merde (plus grossier que "messieurs les professeurs", mais d'une c'est assumé, de deux c'est pas plus méprisant), quand ta nullité crasse dans un domaine t'amène à poser des questions, ça serait pas mal de prendre en compte les réponses non ? [:dawak]

mood
Publicité
Posté le 16-02-2007 à 14:23:06  profilanswer
 

n°1515534
anapajari
s/travail/glanding on hfr/gs;
Posté le 16-02-2007 à 14:26:47  profilanswer
 

Solution garantie pourrie mais qui réponds à ta question:
utilise curl et connecte toi sur ton propre serveur [:spamafote]

n°1515549
cosmoschtr​oumpf
dawa powered
Posté le 16-02-2007 à 14:34:09  profilanswer
 
n°1515552
lkolrn
<comment ça marche?>
Posté le 16-02-2007 à 14:37:50  profilanswer
 

<totalement_HS>
1 mois et demi éloigné du fofo et depuis 10h je tente de combler le retard, mais que c'est bon, que c'est bon :bounce:  
 
</totalement_HS>

n°1515614
theredled
● REC
Posté le 16-02-2007 à 15:32:55  profilanswer
 

Chaos Intestinal a écrit :

Hey sac à merde (plus grossier que "messieurs les professeurs", mais d'une c'est assumé, de deux c'est pas plus méprisant), quand ta nullité crasse dans un domaine t'amène à poser des questions, ça serait pas mal de prendre en compte les réponses non ? [:dawak]


Je suis le premier à admettre que j'ai beaucoup à apprendre, je sors juste d'études, mais me répondre des trucs style "un script qui est dépendant du chemin d'un autre, si c'est pas un choix pour des raisons correctes, ça pue" alors que c'est exactement ce que je veux éviter depuis le début, agrémenté de smileys style "[:itm]" ou de "on sort les doigts du cul", je vais pas dire "oui monsieur", quand bien même le posteur a 15 ans de métier de plus que moi.

 

De plus les réponses, même intéressantes, ne répondaient pas à ma question qui était précise.

  

Et ensuite je me suis bien renseigné sur dirname(__FILE__), mais je dois être con et je ne vois pas comment m'en servir pour les includes.
edit : en fait si :o merci rufo :jap: pas trop besoin de recoder, donc je vais essayer ça.

Message cité 1 fois
Message édité par theredled le 16-02-2007 à 15:43:19

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1515630
rufo
Pas me confondre avec Lycos!
Posté le 16-02-2007 à 15:58:55  profilanswer
 

theredled a écrit :

Je suis le premier à admettre que j'ai beaucoup à apprendre, je sors juste d'études, mais me répondre des trucs style "un script qui est dépendant du chemin d'un autre, si c'est pas un choix pour des raisons correctes, ça pue" alors que c'est exactement ce que je veux éviter depuis le début, agrémenté de smileys style "[:itm]" ou de "on sort les doigts du cul", je vais pas dire "oui monsieur", quand bien même le posteur a 15 ans de métier de plus que moi.
 
De plus les réponses, même intéressantes, ne répondaient pas à ma question qui était précise.
 
 
 
Et ensuite je me suis bien renseigné sur dirname(__FILE__), mais je dois être con et je ne vois pas comment m'en servir pour les includes.
edit : en fait si :o merci rufo :jap: pas trop besoin de recoder, donc je vais essayer ça.


 
Un peu plus et je ratais ton édit. J'allais répondre "oui" à ta question :o  

n°1515636
theredled
● REC
Posté le 16-02-2007 à 16:07:27  profilanswer
 

rufo a écrit :

Un peu plus et je ratais ton édit. J'allais répondre "oui" à ta question :o


Je craignais cette réponse, du coup ça a excité mon intellect :o
Ceci dit c'est pas encore testé.


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1515644
rufo
Pas me confondre avec Lycos!
Posté le 16-02-2007 à 16:09:34  profilanswer
 

si t'es sur la bonne voie, c'est déjà ça ;)

n°1515649
FlorentG
Posté le 16-02-2007 à 16:12:44  profilanswer
 

theredled a écrit :

Hello
 
Voilou je suis à l'intérieur d'un script 1, et je voudrais éxecuter un script 2 (avec des paramètre en get), puis revenir au script 1.
 
un truc du style

Code :
  1. blabla;
  2. executer('../scripts/fichier.php?id=75');
  3. echo 'ok';


 
Je précise que :
- Les includes ne marchent pas car ça fait foirer tous les chemins relatifs à l'interieur du script 2
- fopen ne va pas car il n'accepte pas de GET.
 
:'(
Merci !


 
Il y a donc ici un énorme problème d'architecture à revoir d'urgence :(
 
Pour les include/require, il est toujours mieux d'y aller par chemin absolue, et extrêmement important de toujours savoir où l'on est, et où se trouve les librairies.
 
Pour le coup du GET, là il y a un autre défaut, à savoir qu'on ne peut appeller un script sans requête HTTP. Un truc bien fait utiliserait un système de classe/fonction prenant en paramètre ce qu'il faut, et affichant le résultat. Genre dans ton fichier.php :

Code :
  1. function pouet($id) {
  2.   // ...
  3. }


Et dans ton autre script tu pourrais très bien avoir :

Code :
  1. require_once(CHEMIN_SCRIPTS . '/fichier.php');
  2. pouet(75);


Même chose du coup avec la requête :

Code :
  1. require_once(CHEMIN_SCRIPTS . '/fichier.php');
  2. pouet($_GET['id']);


Dans le style...

n°1515714
theredled
● REC
Posté le 16-02-2007 à 18:13:11  profilanswer
 

rufo a écrit :

si t'es sur la bonne voie, c'est déjà ça ;)


 :sol:
J'ai remplacé tous mes include '../script.php'; par des include dirname(__FILE__).'/../script.php'
Et ça marche nickel :jap:

 
FlorentG a écrit :

Il y a donc ici un énorme problème d'architecture à revoir d'urgence :(

 

Pour les include/require, il est toujours mieux d'y aller par chemin absolue, et extrêmement important de toujours savoir où l'on est, et où se trouve les librairies.

 

Pour le coup du GET, là il y a un autre défaut, à savoir qu'on ne peut appeller un script sans requête HTTP. Un truc bien fait utiliserait un système de classe/fonction prenant en paramètre ce qu'il faut, et affichant le résultat. Genre dans ton fichier.php :

Code :
  1. function pouet($id) {
  2.   // ...
  3. }


Et dans ton autre script tu pourrais très bien avoir :

Code :
  1. require_once(CHEMIN_SCRIPTS . '/fichier.php');
  2. pouet(75);


Même chose du coup avec la requête :

Code :
  1. require_once(CHEMIN_SCRIPTS . '/fichier.php');
  2. pouet($_GET['id']);


Dans le style...


C'est vrai que ce serait plus propre pour le cas présent, mais le script (génération d'un PDF) est également appelé par des liens directs dans le navigateur. Pour ces liens, il me faudrait créer des (ou un) fichier(s) intermédiaires... On verra.


Message édité par theredled le 16-02-2007 à 18:26:25

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1519107
theredled
● REC
Posté le 23-02-2007 à 19:18:18  profilanswer
 

dirname(__FILE__) m'a changer la vie :jap:


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique

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

  éxécuter un fichier php à partir d'un autre (avec get)

 

Sujets relatifs
[JAVA] Charger un fichier texte en mémoire dans un String[PHP] Placer un fichier sur le poste client
copy d'un dossier avec un fichier batch[RESOLU] interdir le download de fichier
Probleme fichier cpuinf32.dllfichier database.yml
[.NET 2.0] Mettre à jour la base de données à partir d'une DataTablelecture fichier texte avec vb
Problème avec fichier.txt[asp.net sql] Executer un fichier .sql à partir d'une page .aspx
Plus de sujets relatifs à : éxécuter un fichier php à partir d'un autre (avec get)


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