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 un .bat sur un serveur à partir d’une page PHP


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2011
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Septembre 2011
    Messages : 7
    Points : 4
    Points
    4
    Par défaut Lancer un .bat sur un serveur à partir d’une page PHP
    Bonjour,

    J’ai un problème qui commence à être un petit peu énervant, je dois faire une procédure d’automatisation de capture d’écran depuis une url. En gros, l’utilisateur saisit une url sur un site et le serveur réalise la capture et la miniaturisation du site renseigné, puis la stocke automatiquement dans un dossier.

    J’avais trouvé plusieurs méthode pour faire ca, la première était de confier cette procédure à des sites spécialisé comme thumbshot, mais mon client refuse de décentraliser les applications … la deuxième consistait mettre en place un serveur dédié avec la méthode fourni la : http://www.octopuce.fr/Un-script-lib...-forme-d-image , mais trop couteux et complexe pour une tache aussi simple.

    La dernière consiste à utiliser un logiciel nommé SiteShoter, réalisant l’opération souhaité assez facilement, il suffit de lancer une ligne de commande bien paramétré, et la capture se réalise automatiquement.

    J’ai donc crée une page web avec un formulaire ou on saisit l’url qui génère un .bat avec tous les paramètres qui est sensé réaliser la procédure.

    C’est à ce moment la que ca bloque, le .bat est bien généré et stocké sur le serveur, mais il ne s’exécute pas et la procédure ne marche pas. Comment je peux faire pour que ca marche ?

    Je précise que l’exécution du bat généré directement depuis le serveur fonctionne parfaitement et la miniature est bien crée

    Je pense donc que ca viens d’un problème de droit d’exécution, mais je ne sais pas comment régler ca.

    Voici mon code en 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
     
    <?php
    if (isset($_GET['action']))
    {
     
    $url = $_POST['url']; 					//recuperation de l'url
    preg_match("/^(http:\/\/)?([^\/]+)/i",$url,$chaines); //recuperation du nom de domaine
    $img = $chaines[2];
    $img = $img.".jpg";
     
    $command = 'SiteShoter.exe /URL '.$url.' /Filename img/'.$img.' /DisableScrollBars 1 /BrowserTimeout 10000 /BrowserWidth 1000 /BrowserHeight 750 /ImageSizePerCent 10';
    exec($command);
    } 
     
    else { ?>
    <form action="index.php?action=ok" method="post">
    URL &agrave; capturer : <input name="url" type="text" /> <br />
    <input type="submit" name="button" id="button" value="Envoyer" />
    </form>
    <?php } ?>

  2. #2
    Membre confirmé Avatar de zulad
    Homme Profil pro
    creatif
    Inscrit en
    Juin 2007
    Messages
    713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : creatif

    Informations forums :
    Inscription : Juin 2007
    Messages : 713
    Points : 519
    Points
    519
    Par défaut
    tu utilises quoi comme commande pour executer le .bat, un exec ou un shell_exec ?

  3. #3
    Candidat au Club
    Inscrit en
    Septembre 2011
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Septembre 2011
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    J'utilise un exec

    Le probleme, c'est que mo client veut absolument que je l'execute en ASP, d'ou l'autre version dans le forum ASP

    Mais la version de test est bien en PHP

  4. #4
    Membre confirmé Avatar de zulad
    Homme Profil pro
    creatif
    Inscrit en
    Juin 2007
    Messages
    713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : creatif

    Informations forums :
    Inscription : Juin 2007
    Messages : 713
    Points : 519
    Points
    519
    Par défaut
    Executer une ressource en php c'est par exec ou shell_exec en asp je ne sais pas.

  5. #5
    Candidat au Club
    Inscrit en
    Septembre 2011
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Septembre 2011
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Le probleme ne vient pas de la commande, j'arrive à le faire avec des logiciels installé, mais ca ne semble pas s'executer avec un logiciel simple. il doit surement falloir regler les droits de l'exe quelque part, l'inscrire quelque part, mais comment faire ?

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    tu peux pas lancer n'importe quel process via PHP

  7. #7
    Membre confirmé Avatar de zulad
    Homme Profil pro
    creatif
    Inscrit en
    Juin 2007
    Messages
    713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : creatif

    Informations forums :
    Inscription : Juin 2007
    Messages : 713
    Points : 519
    Points
    519
    Par défaut
    Pour changer les droits d'un fichier en php tu as le chmod : chmod sinon, c'est carrément de faire un exe qui lancera ton application que tu appelle depuis php. J'ai du faire ça une fois, les exe devaient être dans le repertoire web.

    Les problèmes de droit son inhérent à IIS ou apache, les droits hors du repertoire web sont diminués.

  8. #8
    Candidat au Club
    Inscrit en
    Septembre 2011
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Septembre 2011
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Je vais tenter la piste de zulad, il me faut juste savoir comment on fais un exe

  9. #9
    Membre confirmé Avatar de zulad
    Homme Profil pro
    creatif
    Inscrit en
    Juin 2007
    Messages
    713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : creatif

    Informations forums :
    Inscription : Juin 2007
    Messages : 713
    Points : 519
    Points
    519
    Par défaut
    Tu as le language D qui est assez robuste, facile et très portable.
    Pour linux, AIX tu dois le compiler sous linux, pour windows c'est sous windows.
    http://www.digitalmars.com/, tu peux programmer en C/C++ mais je te conseille le D, c'est plus facile... tu trouveras plein de ressources sur le site de dsource.org. Bon amusement.

    edit : Tu peux lancer un exec avec ceci (nota : le moteur de digitalmars est bien fait) : std_process

Discussions similaires

  1. Réponses: 6
    Dernier message: 14/03/2014, 11h03
  2. Réponses: 3
    Dernier message: 29/09/2011, 14h19
  3. Lancer un exe sur le serveur depuis une page PHP
    Par Bundy*Al dans le forum Apache
    Réponses: 1
    Dernier message: 27/04/2010, 08h27
  4. comment lancer un bat sur des Pc en IP fixe
    Par gael93 dans le forum Windows
    Réponses: 3
    Dernier message: 30/09/2007, 01h33
  5. lancer un exe sur un serveur distant
    Par chicobra dans le forum Développement
    Réponses: 3
    Dernier message: 23/08/2006, 18h13

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