Probleme de suppression ssh2 !

Eléphant du PHP | 419 Messages

28 août 2008, 12:19

Je reouvre un sujet comme on m'a consillé :

J'ai le meme probleme sauf que moi ça fonctionne pas :

J'ai :
ssh2_exec($connection, 'rm -R /home/sab/downloads/$sf/');
Dont $sf = variable POST du dossier.

Et bin cette commande me supprime le dossier downloads et non pas le dossier $sf !

Quand je fais :
echo "ssh2_exec($connection, 'rm -R /home/sab/downloads/$sf/');";
Il me retourne bien :

Code : Tout sélectionner

ssh2_exec($connection, 'rm -R /home/sab/downloads/dossier_a_supprimer/');
Donc la commande en SSH serai : rm -R /home/sab/downloads/dossier_a_supprimer/
C'est ce que j'ai fais dans PUTTY et il me supprimer bien le dossier "dossier_a_supprimer" or avec php il me supprime tout le répertoire downloads. ( il n'existe plus )


@rthur :
Bonjour,

Il aurait été plus heureux d'ouvrir un nouveau sujet car ta question n'est pas exactement la même.
2 pistes:
- Si ta variable $sf passe en POST, utilise plutôt $_POST['sf']
- pour supprimer un répertoire (si il est vide), essaye rmdir
Je test ma variable POST :
if (isset($_POST['sf']))
{
$sf = $_POST['sf'];
}
else
{
}
Le répertoire n'est pas vide, quand je fais echo de la commande avec la variable, il me retourne bien la bonne commande mais quand ça l'exécute, ça me vire tout le dossier downloads. ( et le dossier lui même ), c'est vraiment bisarre.
Modifié en dernier par the_grinch le 28 août 2008, 12:36, modifié 1 fois.

ViPHP
ViPHP | 5924 Messages

28 août 2008, 12:33

Ta question est basique, je te renvoie à la documentation sur les chaines de caractère :
http://fr.php.net/manual/fr/language.ty ... tax.single

Eléphant du PHP | 419 Messages

28 août 2008, 12:39

Pourquoi quand je fais : echo "ssh2_exec($connection, 'rm -R /home/sab/downloads/$sf/');";
la variable $sf me la traite bien alors ?
C'est ça que je trouve louche.
C'est bon ça marche !

Mais j'ai toujours des soucis avec les commandes en SSH2 et php !!!

Voici la commande qui ne fait rien :
ssh2_exec($connection, 'cp -R /home/sab/*/ /home/grinch');
Les droits sont les bons !!

Et la commande : cp -R /home/sab/*/ /home/grinch fonctionne niquel avec PUTTY.

ViPHP
ViPHP | 5924 Messages

28 août 2008, 20:20

Méme protocole de test que dans l'autre sujet…