IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Lancer une application externe et continuer sans attendre


Sujet :

Langage PHP

  1. #1
    Membre du Club Avatar de Jonahboss
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Espagne

    Informations forums :
    Inscription : Mai 2009
    Messages : 90
    Points : 56
    Points
    56
    Par défaut Lancer une application externe et continuer sans attendre
    Béjour,

    Non je ne suis zun vauleur, non je ne suis pas zun viauleur.
    Je vaus demende juste ane astuce ou deus pour naurrir ma famiye et me tanir o cho.

    Blague à part bonjour,

    J'ai un petit problème, j'aimerais lancer depuis php une application et y ouvrir un fichier et continuer le script sans attendre une quelconque réponse dont je me fiche éperdument.

    Plus de détails :
    -OS WAINDOZ (Pour les moqueries les adresser ici : Bill-theSHAME@microsoft.com)
    -plateforme Wamp
    -application : Photoshop (je sais rien que ça)
    - fichier : un script jsx (généré par php puis écrit sur le disque en .jsx)

    Avant qu'on ne pose la question OUI l'appli se lancera sur le serveur OU sur une autre machine qui sera elle même équipé d'un serveur php recevant les variables $nom_prog et $fichier par POST et devra lancer le bourrin sur elle même.

    Et si on me demande pourquoi ne pas attendre : Le temps de traitement du fichier .jsx durera entre 15 et 75 minutes.

    La question plus précise est : Comment lancer le programme en arrière plan et avec un paramètre de fichier ?

    Je sais que je peux le lancer à la main sur la machine mais je suis un feignant intégriste et furieusement curieux de savoir si ça peut se faire.

    J'ai déjà lu des trucs de ce genre :

    exec ( string $command [, array &$output [, int &$return_var ]] )

    Note: Si vous démarrez un programme en utilisant cette fonction et que vous voulez le laisser tourner en arrière plan, vous devez vous assurer que la sortie du programme est redirigée vers un fichier, ou un autre flux de sortie, sinon PHP attendra jusqu'à la fin de l'exécution du programme.

    Idem pour :

    system ( string $command [, int &$return_var ] )
    Et je ne comprend pas la note (je sais je suis un garçon très limité, mais je me soigne).

    Toute réponse est la bienvenue

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 19
    Points : 24
    Points
    24
    Par défaut
    Bonjour,

    Jamais utilisé cette fonction mais à mon avis si tu fais quelque chose du genre =>

    1/ index.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
    exec('C:/mon_batch_01.bat');
    ?>

    2/ mon_batch_01.bat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    C:/vrai_script_bien_lourd.bat
    3/ vrai_script_bien_lourd.bat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    REM plein de super commande pour PhotoShop pour une durée de vol :mouarf: de 15 à 75 minutes !!!
    PHP lance un script avec une seule ligne de commande exécutant un autre script, pas bien long, seulement quelques millisecondes pour la pauvre machine qui va exécuter ce code. A mon avis PHP n'attendra pas la fin du deuxième script.

    Autre solution, tu peux opter pour la classe JavaScript "XMLHTTTPRequest" afin de profiter de l'asynchrone (à confirmer si cela pourrait fonctionner).

  3. #3
    Membre éclairé
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Points : 689
    Points
    689
    Par défaut
    Bonjour,

    Pour travailler de manière asynchrone, il y a des fonctions AJAX egalement en javascript

  4. #4
    Membre du Club Avatar de Jonahboss
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Espagne

    Informations forums :
    Inscription : Mai 2009
    Messages : 90
    Points : 56
    Points
    56
    Par défaut
    Salut et merci
    Mais en français ça donne quoi ?

    Pour le batman je sors le joker aucune idée de comment on fait ça.

    Et pour le moment les seules choses qui me semble asynchrone sont nos cerveaux les gars.

    Je suis a des années lumière derrière vous.

    Vous pourriez pas me renseigner un peu sur cette ch'tite note là ça me parrait moins barbare que vos dernières suggestions.

    Note: Si vous démarrez un programme en utilisant cette fonction et que vous voulez le laisser tourner en arrière plan, vous devez vous assurer que la sortie du programme est redirigée vers un fichier, ou un autre flux de sortie, sinon PHP attendra jusqu'à la fin de l'exécution du programme.
    Et quand à lancer du javascript, même fraicheur lavande , sur le SERVEUR php ça me parait un peu sans issues.

    Sinon si écrire le .bat est pas trop complexe je veux bien apprendre.

    Si z'êtes toujours pret à aider je suis preneur.

    Merci

  5. #5
    Membre éclairé
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Points : 689
    Points
    689
    Par défaut
    Bonjour,

    Un batch est un script permettant des traitement automatises de taches répétitives. Les Batch Windows portent l'extension .bat et leur syntaxe est la même que celle que tu utilises dans ta console cmd (console "ms-dos"). Sur Vista, et XP SP3, tu as accès a PowerShell, bien plus puissant mais pour ce que tu as a faire, ce n'est pas necessaire d'aller chercher plus loin .

    Ce que te suggère Tassin73, c'est de créer un fichier .bat capable de lancer ton application principale, au lieu de l'appeler directement. La différence réside dans le fait que la commande exec va attendre la réponse de ton programme. Si tu lance ta grosse commande, il va falloir attendre qu'elle se termine (probablement), si tu lances un "intermédiaire", tu as juste a attendre que le message de lancement soit bien passe.

    Dans ton bat, tu va utiliser les exemples qu'il t'a fourni, même si je doute que 2 batch soient utiles .

    Ce que je te préconise de mon cote, c'est s'utiliser les fonction AJAX pour appeler une commande de manière asynchrone. De manière asynchrone, ça veut dire que on attend pas la réponse avant de continuer (http://fr.wikipedia.org/wiki/Asynchronisme). Si tu ne sais pas trop comment ça marche, télécharge prototype (http://www.prototypejs.org/), ça te fera gagner du temps, et fait une petite recherche sur la classe Ajax.Updater. Mais ça va ajouter un peu de Javascript dans ton appli, il existe aussi des ruses pour travailler de manière asynchrone en PHP, mais il va falloir jouer de Google dans ce cas la, le "vrai" asynchrone de PHP étant prévu il me semble pour la version 6.

    A toi de jouer maintenant

  6. #6
    Membre du Club Avatar de Jonahboss
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Espagne

    Informations forums :
    Inscription : Mai 2009
    Messages : 90
    Points : 56
    Points
    56
    Par défaut
    Bonjour

    Pour le fichier .bat juste ça ?:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    D:\dossier\mon_script_TOTOSHOP.jsx
    Et le Batch reconnait il l'association "fichiers/applications par défaut" de windows, ou faut il préciser un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\programs\Adobe\Photoshop CS3\Photoshop.exe --D:\dossier\mon_script_TOTOSHOP.jsx
    ??

    Et AJAX ça s'exécute sur le serveur ?, parce que c'est un serveur(en local dans le bureau d'à coté) qui doit faire tourner totoshop, pas le client.

    Merci pour vos réponses, je commence à re-synchroniser

  7. #7
    Membre éclairé
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Points : 689
    Points
    689
    Par défaut
    L'Ajax, c'est du javascript, donc ça s'exécute sur la machine du client et tu envoies une requête sur le serveur vers un fichier spécifique qui lance ton appli par exemple.

    Et le Batch reconnait il l'association "fichiers/applications par défaut" de windows
    A priori oui, il faut tester

  8. #8
    Membre du Club Avatar de Jonahboss
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Espagne

    Informations forums :
    Inscription : Mai 2009
    Messages : 90
    Points : 56
    Points
    56
    Par défaut
    Salut

    Bien le batch marche nickel et l'association est effectivement reconnue.

    Mais autre problème, php ne lance pas le batch. SAFE MODE est sur OFF
    Je change le repertoire sinon il me l'exécute dans le dossier du batman.php

    Voila les 2 codes tentés :
    batman.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Document sans titre</title>
    </head>
     
    <body>
    <?php
    if(isset($_POST['batman']) and $_POST['batman']=='Sus au Joker !!!')
    {
     
    	chdir('D:/Travail/Scripts_Photoshop/Automatisation_Orla');
    	if(exec('testbat.bat'))
    	{
    		echo 'Le Joker est en taule !';
    	}
    	else
    	{
    		echo 'Le Joker s\'est fait la malle !';
    	}
    }
    else
    {
    echo'<form action="batman.php" method="post" enctype="multipart/form-data" name="BatBatch">
    <input name="batman" type="submit" value="Sus au Joker !!!" />
    </form>';
     
    }
    ?>
     
    </body>
    </html>
    batman2.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php
    chdir('D:/Travail/Scripts_Photoshop/Automatisation_Orla');
    system('testbat.bat',$retval);
    echo '<br/>'.$retval;
    ?>
    réponse de batman2.php :

    D:\Travail\Scripts_Photoshop\Automatisation_Orla>testbat.jsx D:\Travail\Scripts_Photoshop\Automatisation_Orla>exit
    0
    il a bien vu le bat et ce qu'il ya dedans mais il l'a pas exécuté.

    Et Whaloo rien queudal dans le cas de batman.php il me dis que le joker est en taule mais il ne lance pas le .bat

    Elle est où l'erreur ?

  9. #9
    Membre éclairé
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Points : 689
    Points
    689
    Par défaut
    et avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $fichier = "D:/Travail/Scripts_Photoshop/Automatisation_Orla/testbat.bat";
     
    if(is_file($fichier)) {
     
      $exec = exec("start {$fichier}",$out,$e);
     
      if (!$e) echo "Tout va bien";
      else echo "La commande a echoue";
     
    } else {
     
      echo "le fichier est introuvable";
     
    }

  10. #10
    Membre du Club Avatar de Jonahboss
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Espagne

    Informations forums :
    Inscription : Mai 2009
    Messages : 90
    Points : 56
    Points
    56
    Par défaut
    il affiche tout va bien, mais rien ne va plus, pas de bat ni de bol.

  11. #11
    Membre éclairé
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Points : 689
    Points
    689
    Par défaut
    Essaie sans le start.

  12. #12
    Membre du Club Avatar de Jonahboss
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Espagne

    Informations forums :
    Inscription : Mai 2009
    Messages : 90
    Points : 56
    Points
    56
    Par défaut
    Avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $fichier = "D:/Travail/Scripts_Photoshop/Automatisation_Orla/testbat.bat";
     
    if(is_file($fichier)) {
     
      $exec = exec("start {$fichier}",$out,$e);
     
      if (!$e) echo "Tout va bien";
      else echo "La commande a echoue";
     
    } else {
     
      echo "le fichier est introuvable";
     
    }
    Réponse : Tout va bien

    Avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $fichier = "D:/Travail/Scripts_Photoshop/Automatisation_Orla/testbat.bat";
     
    if(is_file($fichier)) {
     
      $exec = exec(" {$fichier}",$out,$e);
     
      if (!$e) echo "Tout va bien";
      else echo "La commande a echoue";
     
    } else {
     
      echo "le fichier est introuvable";
     
    }
    Réponse : La commande a echoue

    Avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $fichier = "D:/Travail/Scripts_Photoshop/Automatisation_Orla/testbat.bat";
     
    if(is_file($fichier)) {
     
      $exec = exec($fichier,$out,$e);
     
      if (!$e) echo "Tout va bien";
      else echo "La commande a echoue";
     
    } else {
     
      echo "le fichier est introuvable";
     
    }
    Réponse : La commande a echoue

    Avec :

    $fichier = "D:/Travail/Scripts_Photoshop/Automatisation_Orla/testbat.bat";

    if(is_file($fichier)) {

    $exec = exec("D:/Travail/Scripts_Photoshop/Automatisation_Orla/testbat.bat",$out,$e);

    if (!$e) echo "Tout va bien";
    else echo "La commande a echoue";

    } else {

    echo "le fichier est introuvable";

    }

    Réponse : La commande a echoue

    Et avec ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $fichier = "D:/Travail/Scripts_Photoshop/Automatisation_Orla/testbat.bat";
     
    if(is_file($fichier)) {
     
      $exec = exec("start {D:/Travail/Scripts_Photoshop/Automatisation_Orla/testbat.bat}",$out,$e);
     
      if (!$e) echo "Tout va bien";
      else echo "La commande a echoue";
     
    } else {
     
      echo "le fichier est introuvable";
     
    }
    Il pédale dans la semoule et ne donne rien il doit attendre une réponse du bat

  13. #13
    Membre éclairé
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Points : 689
    Points
    689
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $exec = exec("start {D:/Travail/Scripts_Photoshop/Automatisation_Orla/testbat.bat}",$out,$e);
    Pour info, cette ligne est une aberration, les accolades étant la pour "entourer la variable". Elles etaient accessoire dans cet exemple, c'est plus utile dans le cas de chaines comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $chaine = "La valeur recue est : {$_POST["valeur"]}";
    Ça permet de "sortir" la variable de son contexte. Je les utilise par habitude, je suis un peu maniaque ^^.

    Donc ta derniere solution est inutile

    Essaie de taper "D:/Travail/Scripts_Photoshop/Automatisation_Orla/testbat.bat" dans une console cmd directement sur ton serveur. Qu'est ce qui en sort ? Une erreur a mon avis ...

  14. #14
    Membre du Club Avatar de Jonahboss
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Espagne

    Informations forums :
    Inscription : Mai 2009
    Messages : 90
    Points : 56
    Points
    56
    Par défaut
    C:\Users\utilisateur>D:/Travail/Scripts_Photoshop/Automatisation_Orla/testbat.bat

    C:\Users\utilisateur>testbat.jsx
    'testbat.jsx' n'est pas reconnu en tant que commande interne
    ou externe, un programme exécutable ou un fichier de commandes.

    Effectivement là ça limite les possibilités...

    Comment on lance un programme (Photoshop en l'occurence) avec en paramêtre le fichier à ouvrir (testbat.jsx) à l'intérieur d'un bat

  15. #15
    Membre du Club Avatar de Jonahboss
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Espagne

    Informations forums :
    Inscription : Mai 2009
    Messages : 90
    Points : 56
    Points
    56
    Par défaut
    ça marche en ligne de commande avec ça dans le bat :

    start D:/Travail/Scripts_Photoshop/Automatisation_Orla/testbat.jsx

    Au lieu d'un bête :

    D:/Travail/Scripts_Photoshop/Automatisation_Orla/testbat.jsx

    Mais toujours pas depuis php.

    J'ai surfé un peu et j'ai trouvé une page où il disaient que si Apache n'a pas les droits pour interragir avec le bureau pas de fenètre et pas de bat.

    Mais le processus cmd est lui bien visible dans le gestionnaire des tâches.



    j'ai ouvert les droit à apaches via services.msc j'ai redémarré Wamp ET ...

    Rein de neuf

  16. #16
    Membre éclairé
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Points : 689
    Points
    689
    Par défaut
    Si ca devrait marcher un .bat a priori. Si tu essaie un truc genre start calc et que tu surveilles les process ?

  17. #17
    Membre du Club Avatar de Jonahboss
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Espagne

    Informations forums :
    Inscription : Mai 2009
    Messages : 90
    Points : 56
    Points
    56
    Par défaut
    Le script tourne sans relâche et un boite de dialogue me dit :

    Un programme nécessite éventuellement des informations ou une autorisation pour effectuer une tâche.

    Afficher le message
    Me le rappeler plus tard

    Quand tu affiche le message tu quitte le bureau tu te retrouve avec la caltoche

    en fonctionnement sous le bureau et un message qui te dit que quand t'auras fini tu pourras rentrer sur le bureau...


    Tu t'y connait en exorcisme ???

  18. #18
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 19
    Points : 24
    Points
    24
    Par défaut
    Re,

    En exorcisme pour ma part je n'ai pas encore essayé !

    A mon avis tu es sous l'emprise du pare-feu de Windows Vista (désolé je tourne encore sous XP d'où cette incertitude).

    "Le script tourne sans relâche" ?
    Tu veux dire que tu as plein de fenêtre DOS qui s'affiche ?

    "Quand tu affiche le message tu quitte le bureau tu te retrouve avec la caltoche" ==> "start calc" permet de lancer la calculette de Windows donc c'est normal .

    "C:\Users\utilisateur>testbat.jsx
    'testbat.jsx' n'est pas reconnu en tant que commande interne
    ou externe, un programme exécutable ou un fichier de commandes."

    Si dans ton batchfile tu as "testbat.jsx" ou encore "start testbat.jsx" c'est normal, il croit que c'est une commande DOS et il exécute en tant que tel.

    2 Solutions :
    - Est-ce que tu peux exécuter directement les "*.jsx" en double cliquant dessus ?
    Si oui essayes => "D:/Le_Chemin/testbat.jsx".
    - Sinon regardes l'aide de PhotoShop pour t'informer des paramètres d'ouverture de programme, ou sur le Net afin de faire quelque chose du genre =>
    "C:\programs\Adobe\Photoshop CS3\Photoshop.exe" --open "D:\dossier\mon_script_TOTOSHOP.jsx"
    Penses à rajouter des guillemets dans les chemins (c'est mieux si un jour tu as des espaces dans ton chemin (virtuel, pas devant chez toi )).

  19. #19
    Membre du Club Avatar de Jonahboss
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Espagne

    Informations forums :
    Inscription : Mai 2009
    Messages : 90
    Points : 56
    Points
    56
    Par défaut
    Bon, la source du problème est désormais connue : VISTA

    Cette ignoble saloperie, son contrôle hystérique de la sécurité et sa forte propension à prendre l'utilisateur (administrateur inclus) pour un mou du bulbe, font qu'il est difficile de lui demander d'accepter un truc qui sors de l'ordinaire.

    le .bat marche impec la seule chose sur ta remarque précédente c'est qu'après start tout ce qui se trouve entre les deux premiers guillemets c'est le titre de la fenêtre pas l'instruction.

    Donc on aurait pu galéré longtemps...

    l'instruction correcte pour le .bat est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    start "Oh !!! la belle fenêtre..." "D:/Travail/Scripts_Photoshop/Automatisation_Orla/testbat.jsx"
    exit
    et le Toshop s'allume en lançant le bon fichier.

    Malheureusement, testbat.bat reste muet quand on le lance depuis php.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    <?php
    if(isset($_POST['batman']) and $_POST['batman']=='Sus au Joker !!!')
    {
    	chdir('D:/Travail/Scripts_Photoshop/Automatisation_Orla');
    	exec('testbat.bat',$out,$e);
    	if(!$e)
    	{
    		echo 'Le Joker est en taule !';
    	}
    	else
    	{
    		echo 'Le Joker s\'est fait la malle !<br/>';
    		print_r($out);
    		print_r($e);
    	}
    }
    else
    {
    echo'<form action="batman.php" method="post" enctype="multipart/form-data" name="BatBatch">
    <input name="batman" type="submit" value="Sus au Joker !!!" />
    
    </form>';
     
    }
    ?>
    Il affiche "Le Joker est en taule !" le .bat est bien lancé mais il lui est interdit de lancé quoi que soit d'autre.

    En fait j'ai le même problème que lui :

    http://www.developpez.net/forums/d59...f/#post3543493

    On est dans la M...

  20. #20
    Membre du Club Avatar de Jonahboss
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Espagne

    Informations forums :
    Inscription : Mai 2009
    Messages : 90
    Points : 56
    Points
    56
    Par défaut
    Afin de de solutionner mon problème je viens d'imaginer une autre solution :

    Un pauvre bat qui sera lancé à la pogne sur le serveur (ou la station graphique) équipé de tosohp.

    Ce batch lancera Wamp, et Photoshop en lui demandant d'ouvrir un script "LAUNCH.jsx" qui regardera dans le dossier "X/A TRAITER" et ouvrira tout script .jsx qui pourrait s'y trouver.
    Si LAUNCH.jsx ne trouve rien il attend et recommence à regarder, et ainsi de suite.

    Quand un fichier.jsx est uploadé dans le répertoire, LAUNCH se jette dessus comme la misère sur le monde et l'exécute.

    Une fois que le script se termine il s'auto déplace vers le dossier "X/ Déja fait", et LAUNCH regarde s'il y a autre chose à traiter, sinon il repart et attend.

    Merci à tout ceux qui ont contribué au post et a m'apprendre à faire un batch, mais sous Vista malheureusement point de salut, le problème vient que je n'arrive pas où qu'il n'est pas possible de lancer WAMP avec les droit d'admin nécessaire au contrôle d'une application en ligne de commande.

    Je laisse ce Post en non-résolu au cas ou quelqu'un trouverai quelque chose d'utile et pour y revenir si je trouve une solution qui en aiderait d'autre.

    Si les admins jugent qu'il vaut mieux passer en Résolu, je ne leur en voudrais pas non plus, qu'ils ne se gênent par pour le changer.

    Merci à tous.

Discussions similaires

  1. [VB.NET] Comment lancer une application externe dans ma Form
    Par afdmats dans le forum Windows Forms
    Réponses: 1
    Dernier message: 03/10/2006, 15h27
  2. [API] Lancer une application externe via un code Java
    Par k o D dans le forum Général Java
    Réponses: 19
    Dernier message: 09/03/2006, 15h12
  3. [Runtime]lancer une application externe
    Par biozaxx dans le forum Général Java
    Réponses: 3
    Dernier message: 09/11/2005, 17h13
  4. [Système][Runtime]lancer une application externe
    Par mencaglia dans le forum API standards et tierces
    Réponses: 14
    Dernier message: 22/09/2005, 17h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo