Lancer un .bat sur un serveur à partir du web

Fermé
ed_013 Messages postés 12 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 21 septembre 2011 - 21 sept. 2011 à 15:23
ed_013 Messages postés 12 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 21 septembre 2011 - 21 sept. 2011 à 21:39
Lancer un .bat sur un serveur à partir d'une page ASP ou 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 : https://www.octopuce.fr/un-script-libre-de-capture-de-page-web-sous-forme-dimage/ , 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 version ASP (les chemins absolu sont absent ...)
<%
'***********************************************************************
' Création et configuration d'un fichier .bat sur le serveur avec les noms et parametres de redimentionnement des images
'**********************************************************************
Set fs = CreateObject("Scripting.FileSystemObject")
Set objWriteFile = fs.CreateTextFile(server.MapPath("automatique.bat"),true)
NomApplication = "CHEMIN ABSOLU\siteShoter.exe" ' adresse de l'application siteshoter
NomAdresseDestination ="CHEMIN ABSOLU"
url=Request.Form("url")
NomFichierDestination =Request.Form("nom")
objWriteFile.writeline (""&NomApplication&" /URL "&url&" /Filename "&NomAdresseDestination&""&NomFichierDestination&".jpg /DisableScrollBars 1 /BrowserTimeout 10000 /BrowserWidth 1000 /BrowserHeight 750 /ImageSizePerCent 10")
objWriteFile.close
Set objWriteFile = Nothing
Set fs = Nothing
'**********************************************************************
' Lancer le redimentionnement des images en fonction des paramettres du fichier.bat
'**********************************************************************
set wshell=Server.CreateObject("wscript.shell")
WShell.Run("cmd CHEMIN ABSOLU\automatique.bat")
%>

<form action="test.asp?action=ok" method="post">
URL à capturer : <input name="url" type="text" /> <br />
nom <input name="nom" type="text" /> <br />
<input type="submit" name="button" id="button" value="Envoyer" />
</form>


________________________________________________________________________

Voici mon code en PHP

<?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 à capturer : <input name="url" type="text" /> <br />
<input type="submit" name="button" id="button" value="Envoyer" />
</form>
<?php } ?>

1 réponse

ed_013 Messages postés 12 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 21 septembre 2011 1
21 sept. 2011 à 21:39
Personne pour me repondre ???
0