Suppression de fichiers set de dossiers

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Suppression de fichiers set de dossiers

par phpdog » 21 nov. 2005, 23:49

Bonjour Truc et merci :wink:

Cela marche parfaitement :D

Pou le Chmod se ne sera pas la peine, enfaite cette erreur été du au fait que dir ne renvoyer pas de fichier sa a du perturber le code se qui a renvoyer cette erreur.

A propos je suis en locale avec Easy PHP.

par Truc » 21 nov. 2005, 23:42

T'es une vrai machine a coder toi depuis que tu pose ici il n'y a plus que toi :lol:

pour le 1er probleme il faut passer la variable au fichier suivant par l'url:
echo '<a href="supprim.php?dir='.$dir.'" > Suprimer </a><br>'; 
ensuite dans l'autre fichier:
<?php
$dir=$_GET['dir'];
rmdir($dir)
?>
mais attention c pas tres sur en meme temps :?

Pour l'autre erreur c'est un probleme de droits sur le dossier regarde cette fonction chmod() ou alors cette fonction est peut etre desactivé chez ton hébergeur :-k

par phpdog » 21 nov. 2005, 22:20

J'ai pensser à un trcu, je viens de tester ceci:

Mon fichier avec le script:
<?php 
$directories = glob("*",GLOB_ONLYDIR); 
foreach ($directories as $dir) 
{ 
   echo '<a href="', $dir, '" > ', $dir, ' </a>'; 
   echo '<a href="?action=rename&d=', $dir, '" > Renommer </a>'; 
   echo '<a href="supprim.php" > Suprimer </a><br>'; 
} 
?> 
J'ai tester juste pour supprimer:
   echo '<a href="supprim.php" > Suprimer </a><br>'; 
Voila donc quand on clique sur le lien Supprimer on appele le fichier supprim.php:
<?php 
rmdir($dir) 
?> 
Voici aitenant le message d'erreur:

Code : Tout sélectionner

Notice: Undefined variable: dir in C:\easyPHP\www\supprim.php on line 2 Warning: rmdir(): Permission denied in C:\easyPHP\www\supprim.php on line 2
Quelq'un pourait-il me dire se qui cloche ?

par phpdog » 21 nov. 2005, 19:56

Bonjour Zurg et merci beaucoup :wink:

par phpdog » 21 nov. 2005, 19:54

Bonjour mario et merci beaucoup :wink:

S'est parfait :D

par Zurg » 21 nov. 2005, 19:50

Salut,

pour les fichiers :

<?
// effacer le fichier
 unlink("nom_du_fichier.xxx");
>

Pour effacer un dossier, utilise la fonction rmdir(), mais il faut auparavant que tous les fichiers de ce dossier aient été effacés...
 rmdir($fichier)
Voici une petite fonction récursive pour effacer un dossier, qui vérifie s'il est vide, et qui, si ce n'est pas le cas, efface d'abord tous les fichiers puis le dossier:
function effacer($fichier) {
  if (file_exists($fichier)) {
    chmod($fichier,0777);
    if (is_dir($fichier)) {
      $id_dossier = opendir($fichier); 
      while($element = readdir($id_dossier)) {
        if ($element != "." && $element != "..")
        delete($fichier."/".$element);
      }
      closedir($id_dossier);
      rmdir($fichier);
    }
    else unlink($fichier);
  }
}
Appel de la fonction :
$repertoire = "chemin_du_dossier";
effacer($repertoire);
Je suis pas super balaize, mais j'espère avoir répondu à ta question...

@ + :wink:

par mario » 21 nov. 2005, 19:41

http://www.php.net/unlink pour les fichiers

pour les dossiers, c'est précisé dans la doc (cf page ci dessus)

Suppression de fichiers set de dossiers

par phpdog » 21 nov. 2005, 19:23

Bonjour à tous :wink:

Je recherche une commande php pour supprimer des fichiers et dossiers, quelqu’un saurait-il m’aider ?