Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/09/2011, 15h06   #1
Invité de passage
 
Inscription : septembre 2011
Messages : 7
Détails du profil
Informations forums :
Inscription : septembre 2011
Messages : 7
Points : 1
Points : 1
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 :
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 } ?>
ed_013 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2011, 15h42   #2
Membre confirmé
 
Avatar de zulad
 
Inscription : juin 2007
Messages : 500
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 500
Points : 289
Points : 289
tu utilises quoi comme commande pour executer le .bat, un exec ou un shell_exec ?
__________________
Il y a trois grandes catégories d'individus : Les S:sensibles / Les P:penseurs / Les A:agités (Tous sont des animaux)
zulad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2011, 16h20   #3
Invité de passage
 
Inscription : septembre 2011
Messages : 7
Détails du profil
Informations forums :
Inscription : septembre 2011
Messages : 7
Points : 1
Points : 1
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
ed_013 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2011, 16h24   #4
Membre confirmé
 
Avatar de zulad
 
Inscription : juin 2007
Messages : 500
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 500
Points : 289
Points : 289
Executer une ressource en php c'est par exec ou shell_exec en asp je ne sais pas.
__________________
Il y a trois grandes catégories d'individus : Les S:sensibles / Les P:penseurs / Les A:agités (Tous sont des animaux)
zulad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2011, 21h43   #5
Invité de passage
 
Inscription : septembre 2011
Messages : 7
Détails du profil
Informations forums :
Inscription : septembre 2011
Messages : 7
Points : 1
Points : 1
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 ?
ed_013 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2011, 22h00   #6
Modérateur
 
Inscription : septembre 2010
Messages : 7 129
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 129
Points : 8 489
Points : 8 489
tu peux pas lancer n'importe quel process via PHP
__________________
http://blog.stealth35.com/
stealth35 est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 22/09/2011, 10h51   #7
Membre confirmé
 
Avatar de zulad
 
Inscription : juin 2007
Messages : 500
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 500
Points : 289
Points : 289
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.
__________________
Il y a trois grandes catégories d'individus : Les S:sensibles / Les P:penseurs / Les A:agités (Tous sont des animaux)
zulad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2011, 20h43   #8
Invité de passage
 
Inscription : septembre 2011
Messages : 7
Détails du profil
Informations forums :
Inscription : septembre 2011
Messages : 7
Points : 1
Points : 1
Je vais tenter la piste de zulad, il me faut juste savoir comment on fais un exe
ed_013 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/09/2011, 10h18   #9
Membre confirmé
 
Avatar de zulad
 
Inscription : juin 2007
Messages : 500
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 500
Points : 289
Points : 289
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
__________________
Il y a trois grandes catégories d'individus : Les S:sensibles / Les P:penseurs / Les A:agités (Tous sont des animaux)
zulad est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h05.


 
 
 
 
Partenaires

Hébergement Web