lancer l'execution d'un programme externe genre word excel etc...

lancer l'execution d'un programme externe genre word excel etc... - PHP - Programmation

Marsh Posté le 22-02-2006 à 11:48:18    

Salut à tous!!
 
je voudrais lancer une application externe genre word ou excel.
j'ai lu la doc, il ya exec() et system ()...
j'ai écrit ce minibout de code :  
$_POST['appli'] est le chemin de mon application récupérée via un formulaire
 

Code :
  1. <?
  2. $application = $-POST['appli'];
  3. addslashes ($application);
  4. exec($application);
  5. ?>


rien ne se passe...
j'ai remplacé exec par system et rien ne se passe...
 
j'ai aussi fouiné ici :  
http://forum.hardware.fr/hardwaref [...] 3801-1.htm
 
et j'ai testé ça :  

Code :
  1. <?
  2. $application = $-POST($application);
  3. eval {
  4. system($application);
  5. };
  6. if($@)
  7. {
  8. echo 'mon exe foire : \n$@';}
  9. ?>


(je dois avouer que j'ai pas trop compris ce dernier bout de code... :sweat: )
pour ce dernier bout de code il me met
parse error expecting`'(" .... on line 40 càd au niveau de eval{...
 
désolé si je suis un noob je choisis pas ma condition et je fais tout pour m'en tirer, mais là je bloque...
 
si quelqu'un peut me conseiller, ce serait sympa
 
merci :D  
 

Reply

Marsh Posté le 22-02-2006 à 11:48:18   

Reply

Marsh Posté le 22-02-2006 à 11:52:17    

$_POST, pas $-POST.[:dawao]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 22-02-2006 à 11:52:34    

Question: tu souhaites lancer "word ou excel" sur le poste client depuis l'execution d'un script php sur le serveur?
 
Si tu réponds oui, alors s'pas gagné ...
Si tu réponds non, je vois pas l'interet d'executer ces programmes sur le serveur...
 
ah un dernier truc c'est:

Code :
  1. $_POST


et pas  

Code :
  1. $-POST


 
edit: [:benou_grilled]


Message édité par anapajari le 22-02-2006 à 11:53:42
Reply

Marsh Posté le 22-02-2006 à 11:56:14    

oui $-POST n'y est pas dans mon code, j'ai bien $_POST...stune erreur de ma part...
la réponse est oui...lol
c'est pas gagné donc...
 
et sinon y'a un moyen d'insérer du VB?  
genre script language=VB? je suis un peu naif peut-être mais bon en visual j'ai moyen d'ouvriri l'appli que je souhaite...
 
 
merci pour vos réponses

Message cité 1 fois
Message édité par flock86 le 22-02-2006 à 11:59:00
Reply

Marsh Posté le 22-02-2006 à 11:57:54    

flock86 a écrit :

la réponse est oui...lol
c'est pas gagné donc...


C'est impossible, surtout.[:dawa]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 22-02-2006 à 12:00:10    

impossible?!!
bouhouhou....comment je vais faire ça?
quelqu'un a un flingue?

Reply

Marsh Posté le 22-02-2006 à 12:01:31    

Le php s'exécute sur le serveur, il n'a aucun moyen de lancer un soft sur le client.[:skeye]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 22-02-2006 à 12:02:59    

Quand est-ce que TOUT le monde va comprendre ça??!!


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 22-02-2006 à 12:04:41    

skeye a écrit :

Le php s'exécute sur le serveur, il n'a aucun moyen de lancer un soft sur le client.[:skeye]


Tu peux toujours envoyer un document .doc ou .xsl vide( ou pas d'ailleurs) en réponse avec les bons mime-type.
ça ne marchera pas tout le temps(en fonction de la config du visiteur) mais bon, c'est mieux que rien!!!
 
 

Reply

Marsh Posté le 22-02-2006 à 12:04:59    

je vais encore préciser que je suis naif mais avec JS alors ?
rmrmrmmm
bon je vais tenter de trouver une alternative...
ou stoper tout!!
merci en tous les cas pour les précisions!

Reply

Marsh Posté le 22-02-2006 à 12:04:59   

Reply

Marsh Posté le 22-02-2006 à 12:05:03    

Quand les gens arrêteront de commencer le php sans essayer de savoir comment ça marche avant.[:dawao]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 22-02-2006 à 12:06:29    

ah anapjari merci pour l'info! je vois pas du tout comment faire ça, mais je vais bien trouver!!  
 
merci !!

Reply

Marsh Posté le 22-02-2006 à 12:06:37    

flock86 a écrit :

je vais encore préciser que je suis naif mais avec JS alors ?
rmrmrmmm
bon je vais tenter de trouver une alternative...
ou stoper tout!!
merci en tous les cas pour les précisions!


 
En JS non plus, normalement, le navigateur ne peut pas lancer d'appli externe non plus.
Je suppose que tu dois faire ouvrir un fichier particulier à ton application, non? Si oui, il est stocké où?


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 22-02-2006 à 12:07:22    

anapajari a écrit :

Tu peux toujours envoyer un document .doc ou .xsl vide( ou pas d'ailleurs) en réponse avec les bons mime-type.
ça ne marchera pas tout le temps(en fonction de la config du visiteur) mais bon, c'est mieux que rien!!!


oui,  c'est le genre de choses que j'allais suggérer... ;)


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 22-02-2006 à 12:13:55    

je dois lancer word pour l'impression de documents. il possède des macros qui viennent récupérer les données de la bdd, remplir des champs prédéfinis en imprimer le tout....
voilà le truc en fait..
mais je vais toujours pouvoir trouver une solution avec vos conseils...
merci!
 

Reply

Marsh Posté le 22-02-2006 à 15:52:02    

je vais devoir utiliser des activex dans le html pour arriver à mes fins...
ça ne me plait pas, mais ça ne tient pas de ma propre volonté...
bon, maintenant faut que j'apprenne  à utiliser ces trucs...
 

Reply

Marsh Posté le 22-02-2006 à 17:53:30    

Je vais dire une conerie, mais : la base de donnée est surement accéssible en php, alors pourquoi ne pas créer directement un fichier pdf depuis php. Tu poura le remplir comme tu veux en maitrisant l'affichage comme il faut et il restera plus au client qu'a imprimer son fichier.

Reply

Marsh Posté le 23-02-2006 à 09:04:44    

omega2 a écrit :

Je vais dire une conerie, mais : la base de donnée est surement accéssible en php, alors pourquoi ne pas créer directement un fichier pdf depuis php. Tu poura le remplir comme tu veux en maitrisant l'affichage comme il faut et il restera plus au client qu'a imprimer son fichier.


 
 
pour une connerie j'aimerais en sortir plus souvent comme celles là!!
c'est une bonne connerie que je vais tenter d'exploiter.  
le soucis c'est qu'il y a des macros Word pour le traitement (l'impression peut être lancée pour plus de 200 documents avec données différentes à la chaîne, genre 200 lettres avec juste le nom et les coordonnées qui changent).  Je sais pas si je peux lancer ce genre de processus.  
générer un document pdf avec 200 pages identiques sauf les données dynamiques? oui en fait ça peut se faire sans doute!!
 
ce qui est vraiment dommage, c'est que le processus d'impression est déjà rodé : il me suffirait juste d'un bouton pour lancer Word, et tout le travail sous-jacent est déjà fait. Etant donné que les documents à imprimer sont supercalibrés il faudrait que je les recréé, ce qui va me prendre un temps monstre!
enfin! c'est sympa d'avoir tenté de balayer toutes les possibilités!
 
là où j'en étais dans mon raisonnement :  
l'application est dédiée dans sa partie fonctionnelle à quelques postes seulement. La partie consultation elle à un public nettement plus large (un intranet).  
pour la partie fonctionnelle, je pensais utiliser un script Visual Basic me permettant d'utliser un Active-X, pour lancer l'appli.
je sais que c'est pas bien, mais je dirais que je ne suis pas dans un cas de site Web véritablement. et y'a des choses que je ne ferais pas dans ce cas là...
 

Reply

Marsh Posté le 23-02-2006 à 10:45:37    

Je me doutais qu'il y aurait une contraite du genre "pleins de documents déjà fait" et c'est pour ça que je me doutais que ca risquerait de ne pas être utilisable dans ton cas d'où le fait de "dire une conerie". ;)

Reply

Marsh Posté le 23-02-2006 à 11:31:32    

Vivement que je bosse sur un vrai site web!!
ça me fera plaisir de vous tanner avec des questions un peu plus formatrices pour mon métier!!
merci omega2!!
 
sinon on m'a dit que je pouvais passer par Java...une applet Java peut s'insérer dans une page html/php? sans doute question con encore...
bon j'arrete..

Reply

Marsh Posté le 23-02-2006 à 11:49:10    

Oui, une applet java peut être inséré dans une page html. Mais il faut savoir que par défaut l'applet n'a aucun droit d'accés au disque dur ou à un serveur autre que celui qui l'héberge.
Pour lui donner ces droits et donc lui permettre de lancer un programme, il faudra définir des régles de sécurité plus libre et celà provoquera l'affichage d'une demande d'autorisation quand l'applet s'ouvrira dans le navigateur. Pour un intranet, c'est une solution à envisager si ca t'es permis et que le java ne te fais pas peur.
 
PS : En java, toutes les alertes doivent être intercepté à un niveau ou a un autre, sinon, ca t'affichera des erreurs à la compilation. Quand on est pas au courant de ça, on peut perdre bêtement beaucoup de temps mais quand on le sait, on arrive à corriger rapidement ces oublis. :)

Reply

Marsh Posté le 23-02-2006 à 11:59:33    

d'accord!! merci pour ces infos précieuses!!
c'est pas que le java me fait peur c'est que j'ai vraiment pas le temps de l'apprendre ET de le maîtriser pour faire cette appli...
d'autant qu'en PHP j'ai encore tellement de choses à apprendre, t'es bien placé pour le savoir omega2, tu réponds à chacun de mes posts envoyés depuis Janvier lol!
 
en tous les cas je te remercie vraiment pour ta participation et ta patience.
elle m'a au moins permis, à défaut de résoudre mon problème, de définir les champs du possible, et de voir où étaient mes limites quant aux exigences de mes employeurs.
 
respect!

Reply

Marsh Posté le 01-03-2006 à 09:04:20    

aaaah j'ai ptet trouvé une alternative!!
 
c'est de la bidouille mais bon...
je pourrais ptet forcer le télechargement du document Word calibré avec ses macros, au lieu de son ouverture automatique dans IE.
du coup la personne l'ouvre par elle même à partir de son poste et pis voilà...
certes l'ouverture n'est pas automatique, mais au moins ça pourrait résoudre mes petits soucis!!!
c'est vraiment de la bidouille, mais bon vu le chantier, vu les délais, vu mon expérience...
sinon je me suis bien renseigné c'est vrai qu'une applet java signée avec toutes les autorisations débloquées aurait fait mon bonheur.
c'est hallucinant les obstacles qu'il peut y avoir pour des choses simples conceptuellement parlant...  
et les facilités techniques à résoudre de vrais casses-têtes...
merci de votre participation à cette réflexion, elle m'a beaucoup apporté en terme de connaissances...
 
je vais faire des tests pour voir si ça peut convenir aux exigences établies...


Message édité par flock86 le 01-03-2006 à 09:05:24
Reply

Marsh Posté le 04-12-2007 à 15:59:40    

Beaucoup plus tard...  je cherche à faire qqch de semblable, lancer word depuis une application php;
 
exposé comme cela, cela a fait sourire certain, php tourne sur un serveur et word est sur une
machine en local.
 
La question aurait dû être posée autrement, comment lancer word depuis une page html, qu'elle
ait été produite par php ou autre est accessoire.
 
Ben c'est possible en ce qui me concerne, les lettres types sont connues et situées sur le poste
du client, donc un simple lien file produit par une page du serveur qui pointe sur un document local;
 
<html>
<head>
</head>
<body>
<a href="file://c:\temp\Principe.doc">ouvrir un fichier word</a>
</body>
</html>
 
marche dans IE 7 en tout cas, probablement en IE 6.
 

Reply

Marsh Posté le 05-12-2007 à 01:33:25    

en intranet allors?
je connait pas bien IE mais ça m'as l'aire très dangeureux si c'est pas en intranet...


---------------
http://www.free-tribes.org
Reply

Marsh Posté le 05-12-2007 à 07:57:45    

C'est effectivement le cas, le serveur n'est pas accessible de l'extérieur.
 
Mais je le répète, les fichiers word ne se trouvent que sur le client... et bien connus de l'utilisateur,
ne servent que dans le cadre de son travail quotidien.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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