Impossible de supprimer des fichiers par FTP ou script php
... / Impossible de supprimer d...
BMPCreated with Sketch.BMPZIPCreated with Sketch.ZIPXLSCreated with Sketch.XLSTXTCreated with Sketch.TXTPPTCreated with Sketch.PPTPNGCreated with Sketch.PNGPDFCreated with Sketch.PDFJPGCreated with Sketch.JPGGIFCreated with Sketch.GIFDOCCreated with Sketch.DOC Error Created with Sketch.
Question

Impossible de supprimer des fichiers par FTP ou script php

by
SebastienG9
Created on 2017-12-16 18:16:06 (edited on 2024-09-04 12:37:36) in FTP et SSH

Bonjour,
Suite à une fausse manip 5 fichiers avec caractères accentués et certain avec apostrophe ont été transférés dans un répertoire de notre site. Il m'est impossible de les supprimer par FTP même en changeant les droits, idem par script php. Comment puis-je faire pour résoudre ce petit problème?
Merci d'avance.


25 Replies ( Latest reply on 2017-12-19 18:50:09 by
SebastienG9
)

Bonjour,

vous avez quoi comme type d'hébergement ?
Et vous avez essayé comment par PHP ?

Cordialement, janus57


Comment puis-je faire pour résoudre ce petit problème?
Merci d'avance.

Bonjour,
Personnellement, avec FileZilla portable, j'ai :
* Créé un dossier "Poubelle"
* Y déplacé les dossiers impossibles à vider.

Si vous avez accès au SSH utilisez la commande linux rm en veillant à mettre les noms entre quotes.


Si vous avez accès au SSH utilisez la commande linux rm en veillant à mettre les noms entre quotes.


Faire précéder de la commande **_ls -al_** pour avoir le bon orthographe des fichiers à supprimer.

Bonjour,

J'ai un hébergement mutualisé.
Par php j'ai essayé différents scripts en utilisant utilisant les commandes unlink et ftp_delete, j'ai également essayé un ftp_rename toujours sans suces. J'utilise régulièrement ces commandes sans problème.

Cdlt, SebastienG9


J'ai un hébergement mutualisé.

Et ma suggestion ???

Créer un dossier poubelle, oui je l'ai fait mais à un moment donné comment faire pour le vider?


Créer un dossier poubelle, oui je l'ai fait mais à un moment donné comment faire pour le vider?

Tu ne le vides pas. Tu le laisses croupir dans son coin.
Mais au moins, tous les dossiers utiles sont propres. :)

C'est effectivement une solution. Merci d'avoir répondu


C'est effectivement une solution. Merci d'avoir répondu

Dis nous si tu as réussi à "**_poubelliser"_** ces fichiers. :p

Bonjour,

oui mais quoi comme hébergement mutu, un perso/pro/perf ?

Le meilleur moyen reste le SSH (disponible en pro ou supérieur), sinon il faut passer par PHP mais faut oublier les fonction de type FTP (car si cela ne fonctionne pas via un client FTP cela ne fonctionnera pas avec les fonctions FTP, de PHP), mais plutôt utiliser la fonction system/shell de PHP pour faire un rm -rf /mondossierpoubelle

Mais **ATTENTION** un rm -rf c'est dangereux car cela supprime de manière récursive et de manière forcée (donc bien vérifier 3 fois le nom du dossier poubelle à supprimer).

Note : ne jamais laisser trainer des fichiers non utilisé ou fichier "poubelle" car vous êtes limité en nombre de fichiers (car le serveur est lui même limité en fonction de son système de fichiers).

Cordialement, janus57

Oui , cela c'est fait sans problème


Oui , cela c'est fait sans problème

Il ne teste plus qu'à tester la méthode de Janus.
Mais la commande **_rm-rf_**, si elle est mal utilisée, **_ne pardonne pas._**

J'en garde de mauvais souvenirs. :(

Bonjour,


Mais la commande rm-rf, si elle est mal utilisée, ne pardonne pas.

J'en garde de mauvais souvenirs. :(

c'est pour ça qu'il est préférable d'avoir un accès SSH et si il y a peu de fichiers d'utiliser "https://explainshell.com/explain?cmd=rm+-rfvi rm -rfvi"

Cordialement, janus57


c'est pour ça qu'il est préférable d'avoir un accès SSH et si il y a peu de fichiers d'utiliser "rm -rfvi"

C'était sur du System AIX 4.3 :)

Bonsoir,
C'est un hébergement perso. Je ne connais du tout la fonction system/shell de php. Si je comprends bien je dois créer un fichier php contenant
shell_exec('rm -rf /mondossierpoubelle');

Cdlt, SebastienG9


i je comprends bien je dois créer un fichier php contenant
shell_exec('rm -rf /mondossierpoubelle');

Tout à fait. :)

Salut

Tu as essayé avec le logiciel winscp ?

A+

As tu essayé avec la fonction unlink de php ?
un peu comme ça
$dossier="chemin vers ton dossier à vider";
$ouverture=opendir($dossier);
$fichier=readdir($ouverture); // dossier "."
while ($fichier=readdir($ouverture)) {
unlink("$dossier/$fichier");
}
closedir($ouverture);
echo "dossier poubelle vidé avec succès";

?>

Bonjour,oui même problème qu'avec Filezilla. Je vais tenter le shell_exec

Merci beaucoup, je viens d'essayer et cela a bien fonctionné.
J'avais déjà essayé, fichier par fichier avec sans succès .

Merci également à tous les autres intervenants. Problème réglé


Merci beaucoup, je viens d'essayer et cela a bien fonctionné.


Qu'est-ce qui a fonctionné ?


Qu'est-ce qui a fonctionné ?


@SebastienG9, des détails SVP ?

Sa réponse a été faite à kingkurt, donc je pense que c'est la solution php unlink qui a réglé son problème.

Bonsoir et désolé de ne pas avoir répondu plus tôt. C'est bien la solution php unlink de Kingkurt qui a réglé mon problème.