Partage
  • Partager sur Facebook
  • Partager sur Twitter

Executer un .exe en PHP

exec, system et tout le tralala

Sujet résolu
    15 juin 2011 à 9:14:19

    Hello tout le monde :p

    Il y a quelque jours on m'a poser une question pour savoir comment exécuter un programme (un .exe) avec PHP ...

    Depuis ... je cherche !

    Alors, désespéré, je viens voir si quelqu'un avait trouvé une solution ;)

    Voici mes codes :

    <?php
    exec( '"C:\\Program Files\\VideoLAN\\VLC\\vlc.exe"' );
    ?>
    
    <?php
    exec( 'start "C:\\Program Files\\VideoLAN\\VLC\\vlc.exe" -I rc' );
    //exec( 'start "C:\\Program Files\\VideoLAN\\VLC\\vlc.exe" -I rc' );
    ?>
    
    <?php
    exec('c:\WINDOWS\system32\cmd.exe /c START C:\Program Files\VideoLAN\VLC\vlc.bat');
    // Un .bat placé dans le dossier 
    ?>
    
    <?php
    $WshShell = new COM("WScript.Shell");
    $oExec = $WshShell->Run('"C:\\Program Files\\VideoLAN\\VLC\\"',7,false);
    
    /*
     * $WshShell = new COM("WScript.Shell");
     * $oExec = $WshShell->Run("cmd", 7, false);
     */
    ?>
    


    idem avec system ...

    Comme vous l'avez certainement compris, je cherche à ouvrir VLC ! Ou plus exactement, ouvrir une fenêtre VLC (avec une video préchargé)

    Sinon, j'ai bien activé le service en accès du bureau de wampserver ;)

    Ah, j'ai quelque chose tout de même de temps en temps :
    Une jolie alerte : [Détection de boite de dialogue de services interactifs - Un programme ne peut pas afficher un message sur le Bureau]




    J'ai aussi regardé du coté de XUL ... mais sans grand résultat concret pour l'instant.

    Sinon, coté PHP, aurais-je plus de succès en ligne de commande ?


    Quelqu'un à une idée ??
    • Partager sur Facebook
    • Partager sur Twitter
      15 juin 2011 à 10:03:01

      Le premier code semble correct, si tu affiches la sortie, ça écrit quelque chose ?
      • Partager sur Facebook
      • Partager sur Twitter
        15 juin 2011 à 10:09:52

        Ca tourne, ça tourne, ça tourne ... (ça à dépasser le max time depuis longtemps -__-')

        Finalement ... rien !

        Pare feu désactive, rien pour bloquer ...

        Je tourne sur Window Vista avec wamp2 [Apache 2.1.11 / PHP 5.3]

        Tiens faut que je pense à Maj moi ^^
        • Partager sur Facebook
        • Partager sur Twitter
          15 juin 2011 à 10:15:50

          Cela s'exécutera "DANS" ton serveur, et pas directement sur ton pc.
          ( La fenêtre s'ouvre, mais tu ne la vois pas. )
          Essais ceci, pour voir si ça marche vraiment.
          exec ( 'c:/WINDOWS/system32/cmd.exe /c "echo OK>c:/test.txt"' );
          • Partager sur Facebook
          • Partager sur Twitter
            15 juin 2011 à 10:19:18

            Citation : _g33k

            <?php exec ( 'c:/WINDOWS/system32/cmd.exe /c "echo OK>c:/test.txt"' ); ?>



            Yeah ! Je récupère bien un fichier test.txt avec un jolie `OK`
            Au moins ça marché ^^

            Par contre, mon vrai problème c'est de lancer une fenêtre window ...

            Quelqu'un sait comment faire ?
            • Partager sur Facebook
            • Partager sur Twitter
              15 juin 2011 à 10:32:33

              Je me demande si c'est pas plus un problème d'utilisateur.
              Si tu lances en ligne de commande dans cmd : "C:\chemin\vers\php.exe C:\chemin\vers\tonfichier.php"
              Et que ton fichier contient le premier code ça donne quoi ?
              • Partager sur Facebook
              • Partager sur Twitter
                15 juin 2011 à 10:44:06

                Citation : Chinoisfurax

                Je me demande si c'est pas plus un problème d'utilisateur.
                Si tu lances en ligne de commande dans cmd : "C:\chemin\vers\php.exe C:\chemin\vers\tonfichier.php"
                Et que ton fichier contient le premier code ça donne quoi ?



                Oo !

                Alléluia !

                J'ai une belle fenêtre VLC qui s'ouvre :p

                Donc, aucun moyen pour faire ça directement depuis la page ? (ou le simuler ??)
                • Partager sur Facebook
                • Partager sur Twitter
                  15 juin 2011 à 10:54:31

                  Peut-être mais comme je connais pas bien la commande Windows, je saurais pas dire.
                  Tu peux lancer une commande en tant qu'autre utilisateur (toi-même en l'occurrence) ?
                  • Partager sur Facebook
                  • Partager sur Twitter
                    15 juin 2011 à 10:58:41

                    Citation : Chinoisfurax

                    Tu peux lancer une commande en tant qu'autre utilisateur (toi-même en l'occurrence) ?


                    ??
                    Pas très bien compris sur ce coup là ...

                    Bon, si il n'y a pas de solution, je vais tenter un script en ligne de commande ^^
                    Au pire, un petit .bat et le tour sera joué :p
                    • Partager sur Facebook
                    • Partager sur Twitter
                      15 juin 2011 à 12:01:52

                      CMD.exe -> ouvre sur ton pc.
                      Méthode directe -> ouvre sur ton serveur local.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        15 juin 2011 à 13:52:53

                        @_g33k, son PC est le serveur local, la distinction doit venir de l'utilisateur qui lance PHP.

                        Vraiment, je sais pas, j'ai testé sous XP en lançant notepad++ et ça marche, la fenêtre apparaît bien.


                        Sous linux, y'a une ligne de commande cvlc qui ne démarre pas l'interface graphique, ça semble lancer le processus correctement puis ça charge indéfiniment. Si on tue le processus, ça le réouvre automatiquement, jusqu'à ce qu'on arrête le chargement de la page.
                        Avec vlc ça charge, j'imagine que ça se lance mais comme mon utilisateur http n'a pas d'interface graphique pour lancer vlc avec Qt ça doit échouer.
                        • Partager sur Facebook
                        • Partager sur Twitter
                          15 juin 2011 à 14:57:11

                          Citation : Chinoisfurax

                          Vraiment, je sais pas, j'ai testé sous XP en lançant notepad++ et ça marche, la fenêtre apparaît bien.



                          Tu as fait un exec('...notepad.exe') en http ?? Et ça marche ?

                          Moi, j'ai du activé l'accès de Wamp aux app de mon bureau (services window). Mais toujours rien ...
                          Je pense que je vais regarder coté XUL(Runner) et au pire PHP CLI ...

                          Malheureusement, le cahier des charges impose Window ... et Wamp :s
                          • Partager sur Facebook
                          • Partager sur Twitter
                          Anonyme
                            15 juin 2011 à 15:02:35

                            Il est impossible de lancer vlc en fenêtre avec PHP, ça n'as pas de sens, le programme s’exécutera sur le serveur.

                            Tu peut lancer n'importe quelle application et récupérer le résultat mais pas ouvrir une fenêtre.

                            Par contre tu peut mettre un lien vers la vidéo et si le navigateur est configuré pour lancer VLC lorsque qu'il reçoit une vidéo ça marchera.
                            • Partager sur Facebook
                            • Partager sur Twitter
                              15 juin 2011 à 15:19:12

                              Citation : nax

                              Il est impossible de lancer vlc en fenêtre avec PHP, ça n'as pas de sens, le programme s’exécutera sur le serveur.

                              Tu peut lancer n'importe quelle application et récupérer le résultat mais pas ouvrir une fenêtre.

                              Par contre tu peut mettre un lien vers la vidéo et si le navigateur est configuré pour lancer VLC lorsque qu'il reçoit une vidéo ça marchera.



                              Oki. C'était pour savoir ...
                              Bon, il ne me reste qu'a faire un peu de CLI (je ne peux pas utiliser le clique navigateur (c'est pour lire un stream .flv) :s)

                              Merci :p

                              Je met le sujet en résolu ;) Mais si quelqu'un à une solution en PHP/XUL je suis preneur ;)
                              • Partager sur Facebook
                              • Partager sur Twitter
                              Anonyme
                                15 juin 2011 à 15:24:40

                                Je ne comprend pas très bien ce que tu veux faire de ton flux flv ?
                                Le plus simple est de mettre un lien vers l'url du flux, comme ça la personne lit le flux avec le programme qui lui convient. (Tous le monde n'as pas VLC !)
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  15 juin 2011 à 15:46:34

                                  Citation : nax

                                  Je ne comprend pas très bien ce que tu veux faire de ton flux flv ?
                                  Le plus simple est de mettre un lien vers l'url du flux, comme ça la personne lit le flux avec le programme qui lui convient. (Tous le monde n'as pas VLC !)


                                  Oh, c'est pour une app interne.
                                  En fait, c'est un zéro qui m'a demandé comment lire un flux .flv acheté à une société. Le problème c'est d'ouvrir automatiquement VLC et le fichier .flv depuis le navigateur (sans passer par une boite de DL) puisqu'il faut prendre le moins de temps possible ...

                                  Résultat, par curiosité j'ai cherché comment le faire en PHP .. histoire de m'amuser un peu :p

                                  Edit :

                                  En fait, c'est pour lancer le programme sur le serveur (wampserver ! / XP) et non pas chez l'utilisateur ^^ (Vive les prob de sécurité sinon)
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    2 juin 2015 à 16:31:48

                                    Bonjour,

                                    Je suis actuellement en stage et je dois développer un site pour l'intranet d'une entreprise qui regroupe plusieurs de ces applications, notamment des logiciels exécutables. Je désire développer ce site en Php/JavaScript, hors je viens de lire au dessus que c'est impossible d'ouvrir une nouvelle fenêtre/un executable à partir de php !

                                    C'est toujours d'actualité ? Si oui, y a-t'il un autre moyen ? 

                                    Merci de votre aide 

                                    • Partager sur Facebook
                                    • Partager sur Twitter

                                    Executer un .exe en PHP

                                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                    • Editeur
                                    • Markdown