Page 1 sur 1

[Access]Ouverture de php.exe en vba

Posté : 20 juin 2008, 11:16
par mafalda
Bonjour à tous ,

Je suis toute nouvelle sur ce forum et débutante en programmation.
Voila mon petit problème : j'ai créer un fichier php qui grâce a fpdf me permet de créer un pdf. Le code fonctionne lorsque je passe par mon serveur local, lorsque j'exécute mon fichier .php avec php.exe.

Jusque la tout va bien .... Seulement j'aimerais que mon fichier .php s'exécute avec php.exe à l'aide d'un bouton dans Access.

Code : Tout sélectionner

Private Sub Commande26_Click() 'lancer php.exe et fichier d'execution Call Shell("C:\php-5.2.6-Win32\php.exe " & " " & "C:\fiches_actions\fiche3.php") End Sub
Et là çà ne marche plus ... J'aperçois la fenêtre de commande mais en résultat je n'ai pas de pdf .....

Avez-vous déjà tester cette commande ? Je suis preneuse des retours d'expérience...

Merci beaucoup

M.

Posté : 20 juin 2008, 12:08
par sadeq
C'est un problème de chemin d'accès relatif.

Si ton programme PHP est programmé pour écrire le PDF dans un chemin relatif, il le fera normalement dans le chemin à partir duquel l'exécution est démarrée.

Donc il faut faire gaffe au chemin d'exécution dans la Marco Access.

Par exemple :

Le chemin de travail est : c:\fiches_actions

Voici un programme PHP qui écrit un fichier texte :
Fichier : c:\fiches_actions\ficheX.php
<?php
file_put_contents("ficheX.txt", "Ceci est le contenu de la fiche X");
?>
Et voici le code du bouton du formulaire ACCESS qui démarre l'exécution du script PHP:

Code : Tout sélectionner

Private Sub cmd_exec_php_Click() On Error GoTo Err_cmd_exec_php_Click Dim stAppName As String 'Chemin de l'application PHP ChDir ("c:\fiches_actions") 'Exécution de l'application PHP stAppName = "C:\wamp\bin\php\php5.2.5\php.exe ficheX.php" Call Shell(stAppName, VbAppWinStyle.vbHide) Exit Sub Err_cmd_exec_php_Click: MsgBox Err.Description End Sub
Remarque:

Si par contre dans le programme PHP, l'écriture du fichier se fait par un chemin absolu (complet), le problème n'est plus et le fichier sera créé toujours dans le dossier indiqué quelque soit le chemin de l'exécution.

Autrement dit, on n'aura plus besoin de l'instruction ChDir() pour fixer le chemin de travail.

Posté : 20 juin 2008, 13:33
par mafalda
Merci beaucoup !
Je comprend pas tout mais ca fonctionne bien avec ChDir().

Encore merci :)

Re: [Access]Ouverture de php.exe en vba

Posté : 02 avr. 2016, 16:00
par eric4577
Bonjour à tous

Je viens de découvrir ce code qui me serait très utile, mais .....

Pour la sauvegarde du fichier txt je n'ai pas de problème. J'ai essayé avec un fichier php qui traite d'image et là rien à faire. Si je lance le php de mon serveur local, pas de pb,

Y a t'il un code différent ? à ajouter ?

Merci d'avance
Eric