[Access]Ouverture de php.exe en vba

Eléphanteau du PHP | 13 Messages

20 juin 2008, 11:16

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.

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

20 juin 2008, 12:08

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.
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Eléphanteau du PHP | 13 Messages

20 juin 2008, 13:33

Merci beaucoup !
Je comprend pas tout mais ca fonctionne bien avec ChDir().

Encore merci :)

Petit nouveau ! | 1 Messages

02 avr. 2016, 16:00

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