Retrouver chemin fichier depuis son extension

Fermé
TSF_ECHO - 13 févr. 2008 à 17:31
 TSF_ECHO - 17 févr. 2008 à 10:34
Bonjour,

Je vien vers vous afin d'avoir quelque billes concernant un problème auquel je me heurte...

Voilà, je suis sur le développement d'une application PHP/SQL qui permet de faire des tas de choses bien.

Il y a une fonctionnalité de mise à jour qui nous permet nous, developpeur, d'envoyer un tarball contenant les scripts à remplacer, ou à ajouter.

Dans mon cas, je cherche la possibilité d'envoyer des script .bat nous permettant d'executer un shell à distance pour, par exmeple, dumper une base de donnée avant d'envoyer de nouvelles bases pi réinjecter le dump dedans.

Dans l'absolue, mon problème ne concerne pas vraiment le contenu du script.bat, mais plutôt, la façon de l'exécuter.

Je m'explique :

J'envoi mon tarball (par mail) contenant le script.bat. Le sujet du mail correspond à un md5 particulier qui me permet d'identifier le type de mise à jour. ici, ce sera donc un md5 identifiant l'arrivée d'un script.bat.

De là, j'execute une fonction qui détar le script dans un dossier particulier. A noter que le script pourrait avoir plein de noms différent... dump.bat, test.bat, toto.bat, jenémar.bat, etc.... Le but est donc de pouvoir ouvrir n'importe quel script depuis l'appli indépendament de son nom.

Mon script se retrouve donc dans c:\wamp\script_dos\le_script.bat

Seulement voilà, depuis mon appli, je ne parvient pas à retrouver le chemin du script envoyé, sachant justement que je ne souhaite pas le rentrer en dur, mais le modifier en fonction du nom du script (ça pourrait donc être c:\wamp\scripts_dos\dump.bat ou c:\wamp\scripts_dos\toto.bat, etc... bref, c:\wamp\scripts_dos\$nomFichier)

Voici à quoi pourrait ressembler une partie du code :

// ce qui se passe avant n'a pas d'importance, il s'agit simplement de la récupération de la piece jointe.tar et le
// traitement du md5(sujet)

$chemin_bat = "c:\wamp\scripts_dos\";
$newfichier = fopen($chemin_bat."script.tar","w+");
fwrite($newfichier,$piece_jointe);
fclose($newfichier);

//décompression de la pj
echo exec('"C:\Program Files\7-Zip\7z" x -y -o'.$chemin_bat.' '.$chemin_bat.'script.tar',$shell, $ok);
echo $ok

// ICI CE QU'IL ME MANQUE
$chemin = // LE FAMEUX CHEMIN D'ACCES COMPLET JUSQU'A MON FICHIER décompressé

echo exec($chemin, $shell, $ok);
echo $ok

J'aurais donc voulu savoir si vous connaissiez un moyen de retrouver le nom de ce fameux script qui ne sera jamais le même en fonction de son extension .bat par exemple, ou autre...?

J'espère avoir été assez clair... En attendant, merci de votre attention, et de vos réponses éventuelles

Philippe.
A voir également:

2 réponses

petite piste que j'ai creusé aprés avoir passé l'aprem à chercher :

$file_list = shell_exec("dir"." ".$chemin_bat."*.bat");
$file_arr = explode("\n",$file_list);

mais ça marche pô...
0
up?
0