Page 1 sur 1

Passer une variable dans la commande Exec (pour utiliser 7zip)

Posté : 20 janv. 2022, 22:23
par Odysseus13
Bonjour

Je voudrais passer des variables dans la ligne de commande d'une fonction exec

Le but est de zipper et de dézipper coté serveur des fichiers avec 7zip

Le code fonctionne bien en dur voir la ligne commentée mais ne fonctionne pas mlorsque je passe avec des variables

echo m'a permis de vérifier que la variable $commande est exactement identique à l'instruction en dur
"C:\Program Files\7-Zip\7z.exe" a -tzip "E:\The Yachter - cours au complet\www\Navire\Plan de voyage\Plan de voyage en cours.zip" "E:\The Yachter - cours au complet\www\Navire\Plan de voyage\Plan de voyage en cours"
Voici mon code

Merci à ceux qui peuvent m'aider

Code : Tout sélectionner

$FolderToZip = ($position."/Navire/Plan de voyage/Plan de voyage en cours"); $Folder = realpath($FolderToZip); $quote="\""; $ext=".zip"; $sp=" "; $exec='"C:\Program Files\7-Zip\7z.exe" a -tzip'; $Folder1 = $quote.$Folder.$ext.$quote; $Folder2 = $quote.$Folder.$quote; //exec('"C:\Program Files\7-Zip\7z.exe" a -tzip "e:\The Yachter - cours au complet\www\Navire\Plan de voyage\Plan de voyage en cours.zip" "e:\The Yachter - cours au complet\www\Navire\Plan de voyage\Plan de voyage en cours" '); echo $commande=$exec.$sp.$Folder1.$sp.$Folder2; exec('$commande'); //exec('"C:\Program Files\7-Zip\7z.exe" a -tzip "E:\The Yachter - cours au complet\www\Navire\Plan de voyage\Plan de voyage en cours.zip" "E:\The Yachter - cours au complet\www\Navire\Plan de voyage\Plan de voyage en cours" ');

Re: Passer une variable dans la commande Exec (pour utiliser 7zip)

Posté : 20 janv. 2022, 22:40
par or 1
et avec
exec($commande);
?

Re: Passer une variable dans la commande Exec (pour utiliser 7zip)

Posté : 20 janv. 2022, 23:59
par Odysseus13
Bonsoir

et avec
exec($commande)


Cela ne donne rien

je ne pige pas trop

J'ai essayé simplement de lancer sans paramètres en passant dans la variable simplement l'exe et cela ne donne aucun résultat

$commande='C:\Program Files\7-Zip\7z.exe'; avec ou sans ""

Sur un forum, j'ai trouvé ceci qui ne marche pas non plus (je ne vois pas à quoi seert la variable $get

chdir("C:/Program Files/7-Zip");
//-mx=9 niveau compression maxi
$commande = "7z a -t7z ".$archive.".7z ".$archive." -mx=9";
exec( $commande, $get);

J'en déduis qu'il est possible de passer des variables

Re: Passer une variable dans la commande Exec (pour utiliser 7zip)

Posté : 21 janv. 2022, 00:05
par Odysseus13
J'ai pigé merci or1

je ne sdais pas pourquoi j'avais mis des '' dans une variable exec ($commande); fonctionne

La fatigue

Merci