supprimer ou déplacer des fichier par leur extension

supprimer ou déplacer des fichier par leur extension - PHP - Programmation

Marsh Posté le 16-07-2010 à 11:11:43    

je suis débutant en PHP , et je cherche comment faire pour supprimer tous le fichier du dossier commun ou le les déplacer en les choisissant par le biais de leur extension , on me demande de supprimer automatiquement les fichier photo et video  
j utilise un serveur Debian avec pure ftpd ,
 merci de la réponse

Reply

Marsh Posté le 16-07-2010 à 11:11:43   

Reply

Marsh Posté le 16-07-2010 à 11:15:37    

glob ?

Reply

Marsh Posté le 21-07-2010 à 22:14:20    

Avec glob :
Pas très au courant de cette fonction, j'ai pu faire quelques erreurs

Code :
  1. <?php
  2. // La liste des extensions de fichier concernés
  3. $extensions = array('wmv', 'avi', 'flv', 'mpg', 'jpeg', 'png', 'jpg', 'bmp');
  4. // Le dossier à lire
  5. $directory = './ladresse/du/dossier';
  6.  
  7. // Ici PHP parcourt le dossier et ajoute dans un dossier le chemin vers
  8. // tous les fichiers don't l'extension est répertoriée dans $extensions
  9. // cette partie peut sans doute être améliorée
  10.  
  11. // initialisation
  12. $files = array();
  13.  
  14. // parcourt la liste des extensions
  15. foreach($extensions as $ext)
  16. {
  17.    // Pour chaque extension, on récupère la liste des fichiers correspondants
  18.    // dans le dossier $directory
  19.    $list = glob("$directory/*.$extensions" );
  20.    // On intègre cette liste à la liste principale, $files
  21.    $files = array_merge($list, $files);
  22. }
  23.  
  24. // Maintenant on peut parcourir la liste des fichiers à traiter
  25.  
  26. foreach($files as $file)
  27. {
  28.    // Cette partie permet de récupérer le nom du fichier seulement
  29.    // (en faisant abstraction du chemin complet)
  30.    // c'est plus sur de l'utiliser mais peut etre que glob()
  31.    // retourne déjà uniquement le nom du fichier - à vérifier
  32.    $filename = basename($file);
  33.    // renommer
  34.    rename("$directory/$filename", "un/autre/dossier/$filename" );
  35.    // supprimer
  36.    unlink("$directory/$filename" );
  37. }
  38.  
  39. // On peut facilement en faire une fonction, pour la rendre récursive, par exemple...
  40. // mais il faudra apporter quelques modifications
  41. function filterFiles($directory, $extensions)
  42. {
  43.    // ...
  44. }
  45. ?>


Message édité par Profil supprimé le 21-07-2010 à 22:16:07
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed