begin process at 2012 05 27 19:52:45
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > DELETE DELETE DELETE DELETE DELETE DELETE DELETE DELETE DELETE DELETE DELETE DELETE DELETE DELETE DELETE DELETE

DELETE DELETE DELETE DELETE DELETE DELETE DELETE DELETE DELETE DELETE DELETE DELETE DELETE DELETE DELETE DELETE


 Information sur la source

Note :
9 / 10 - par 2 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Classé sous :filtrage, recursif, dossier Niveau :Débutant Date de création :12/03/2009 Date de mise à jour :04/01/2011 11:24:41 Vu :2 897

Auteur : dark_nemo

Ecrire un message privé
Commentaire sur cette source (12)
Ajouter un commentaire et/ou une note

 Description

delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete


 Conclusion

delete


 Historique

12 mars 2009 14:27:19 :
Petit correctif - Vérification que $exts_array et $files_array sont bien des tableaux
12 novembre 2009 19:07:43 :
Correctif dans la description de la fonction
04 janvier 2011 11:24:41 :
delete

 Sources de la même categorie

Source avec une capture MODULE JOOMLA 1.5 NOW LISTENING par Alcantornet
Source avec Zip Source avec une capture UPLOAD CENTER par basssem81
Source avec Zip COMPTEUR DE CLIQUE PHP AVEC JQUERY par devgoneti
Source avec Zip LIVRE D'OR SIMPLE (POUR DÉBUTANT) par devgoneti
Source avec Zip SCRIPT TRAVAUX POUR VOTRE SITE par FleuryK

 Sources en rapport avec celle ci

FONCTION RECURSIVE DE DOSSIERS par tefa24600
EFFACER DOSSIERS ET FICHIERS RÉCALCITRANTS par Stephane33
Source avec Zip Source avec une capture LISTER DOSSIER AVEC UN ARBRE / TREE EN PHP / JAVASCRIPT par cyril6789
Source avec une capture LISTER LES DOSSIERS, SOUS-DOSSIERS ET NOMBRE DE FICHIERS par neo2k2
Source avec Zip Source avec une capture SAUVEGARDE SQL ET DOSSIERS par frinux

Commentaires et avis

Commentaire de guismo1er le 12/03/2009 22:24:34 9/10

Woow, je ne l'ai pas testée. Mais c'est génial. Jte met 9, car y a toujours moyen d'améliorer qqch^^

Commentaire de dark_nemo le 13/03/2009 12:44:01

Merci pour la note et le petit commentaire ^^.

Faudra que j'pense à faire une version php5 (voir même en vu de php6) histoire de réduire un peu le code et d'optimiser un peu plus. Autant vivre avec son temps.

Commentaire de neigedhiver le 13/03/2009 18:01:56

Mais pourquoi est-ce que tout le monde continue d'utiliser opendir() et readdir() ?
Pourquoi personne n'utilise jamais d'itérateur ?

Commentaire de dark_nemo le 13/03/2009 20:56:26

La réponse est simple. La doc sur les itérateur est pratiquement inexistante (sauf erreur de ma part)... Donc pour une simple fonction les gens passent des heures à tester en aveugle et à corriger bug sur bug.
Je ne pense pas qu'il soit judicieux d'avancer à l'aveugle sur des sites en productions. Le programmateur cherche un code fonctionnel et qui tourne partout.
Beaucoup de programmeur de petits sites code en amateur... Le plus souvent en procédural et non en objet.

Je trouve aussi que les itérateurs sont intéressant par leurs simplicités d'utilisations mais il faut avouer que le code ne serait plus modifiable par l'utilisateur lambda qui ne va pas savoir le modifier ou l'adapter comme il veut...or php est un langage ouvert à tous.
Une bonne vieille fonction à l'ancienne est parfois fort utile.

Commentaire de neigedhiver le 13/03/2009 22:14:58

C'est là l'éternel problème : la stagnation des connaissances, et le refus d'évoluer, de progresser...

C'est parce que beaucoup de gens continuent d'utiliser et de produire du code PHP3, simplement "parce que ça marche" et que "c'est largement suffisant pour ce qu'on en fait" qu'on trouve encore et encore des sources vieilles qui n'évoluent pas avec le langage. Est-ce que ces personnes ont pour autant un bon vieux téléphone à cadran pourtant tout à fait fonctionnel pour téléphoner ? Probablement pas...

Et dire (encore) que des beaucoup de développeurs font ça en amateur donc en procédural (tu ne l'as pas dit tel quel, mais on sent l'idée ; et puis tellement d'autres le disent) c'est considérer la programmation orientée objet comme réservée à une élite, et inaccessible au commun des mortels... C'est dommage, parce qu'on peut être amateur et développer en objet. Ca s'apprend. De là à passer d'un code procédural à un code objet du jour au lendemain sur des sites en production, peut-être pas, hein, soyons réalistes... Mais les objets ont été introduits en PHP4. Ca fait un moment, PHP4 n'est plus supporté depuis plus d'un an, et plus développé depuis plus de 6 mois. Ca laissait pourtant le temps d'apprendre, non ?

Mais c'est vrai, ce n'est pas entièrement la faute des néophytes : les sites qui publient des sources et de tutos hors d'âge sont bien plus responsables du fait de la négligeance dans les mises à niveau des articles et le maintien de sources obsolètes (y compris PHPCS).

Bref... On pourrait en discuter longuement, excuse-moi d'avoir utilisé les commentaires à ta source pour débattre de ça... (d'autant que je n'ai même pas regardé ton code, je me suis contenté de regarder si tu utilisais le diabolique duo opendir()/readdir() ... pardon encore).

Commentaire de neigedhiver le 13/03/2009 22:21:12

Mince, je dois double-poster... :/

La doc sur les itérateurs n'est certes pas très fournie : http://fr.php.net/manual/fr/spl.iterators.php
Elle n'explique pas réellement ce qu'est un itérateur, poruquoi, comment et se contente un peu de définir les classes.
La doc de la SPL (anciennement http://www.php.net/~helly ) n'est guère mieux à ce niveau là.
Cependant, concernant les définitions des classes, c'est franchement exhaustif.
Si on s'intéresse aux itérateurs, il y a quelques bons tutos, même sur PHPCS, écrits notamment par Malalam, Codefalse ou Akhénaton (de mémoire, j'en oublie, et j'en cite peut-être même à tort). Il y a aussi quelques sources à but didactique (j'en sais quelque chose) très simples qui illustrent le fonctionnement d'un itérateur. Et il y a même des sources très complexes qui exploitent à fond les itérateurs (je pense à la collection de membres par Malalam).
Si la doc officielle ne permet pas vraiment d'apprendre à utiliser les itérateurs, les livres, tutos, articles, billets de blogs etc sont par contre légion.

Commentaire de dark_nemo le 13/03/2009 22:35:07

Tu as raison sur le fait qu'il faut évoluer. Nous évoluons tous jour après jour.
De plus il est vrai que la programmation objet n'est pas réservée à l'élite.
J'me suis mal exprimé. Nous avons tous commencé un jour.
L'amateur est autant capable qu'un pro de comprendre (il faut juste se lancer ^^).

Mais je constate que beaucoup freine des deux pieds lorsqu'ils doivent évoluer vers de l'objet. Sans doute par peur ou méconnaissance. L'objet est une autre façon de penser un programme. ça demande plus de rigueur.
Mon but était simplement d'apporter une fonction simple. De plus pour un pro elle est facilement adaptable/modifiable en classe avec ou non l'utilisation de SPL.

J'pense que tu as raison et qu'il faut produire un bon code objet (c'est la mode dans le monde php) mais pour cela, il faut de petite source, simple, bien commenté pour justement faire évoluer les néophytes.

Commentaire de neigedhiver le 13/03/2009 22:47:44

Les ptites sources objet... c'est les sourceds à but didactique dont je parlais. Par exemple, sans vouloir me mettre en avant, la source que j'ai écrite et qui s'appelle String Iterator.
Lire la source (non documentée, certes, mais...) et les commentaires (...commentée par la suite) permet, je pense, de comprendre le fonctionnement d'un itérateur.
Sinon, j'ai bien compris la raison pour laquelle tu as publié cette source, et je ne remets pas ça en question. Je ne suis pas allé plus loin que l'utilisation de opendir() et readdir().
Je constate quand même (et ça fait plaisir) que tu les utilises correctement (c'est à dire en faisant une comparaison stricte avec false).

Maintenant, libre à chacun de continuer à développer en PHP3 ou de passer 2 (voire 3) vitesses au dessus... ;)

Commentaire de stefpei le 16/03/2009 08:58:17

Très pratique ce code...
Si en plus on pouvait nettoyer des fichiers en fonction de leur date se serait super
(exemple : supprimer tout ce qui est vieux de plus de 3 mois...)

Commentaire de valneandre le 13/10/2009 16:05:39 9/10

Bien pratique pour comprendre et appliquer la récursivité. J'en étais resté à "Mes ancêtres sont mon père et ses ancêtres"...
Par ailleurs, je compte récrire cette intéressante fonction en utilsant glob() plutôt que opendir() et readdir(). Je poste un comment dès que c'est au point.
Merci à tous ceux qui font l'effort d'enseigner.

Commentaire de dark_nemo le 12/11/2009 19:28:26

stefpei>>
Désolé de répondre aussi tard. Pour filter, selon la date il faut juste récupérer la date de modification du fichier avec la fonction filemtime (elle retourne un timestamp) et faire un test conditionnel avec.

Modifier la ligne 12 par :

function clear_folders($folder,$exts_array=array(),$files_array=array(),$lifetime=null,$recursive=true)

Modifier la ligne 27 par :

clear_folders($folder.'/'.$file, $exts_array,$files_array,$lifetime,$recursive);

Modifier les lignes 52 à 55 comme ceci :


if((filemtime($folder.'/'.$file) > (time()-$lifetime)) && !is_null($lifetime))
{
if(unlink($folder.'/'.$file)==false)
{
$return_value=false;
}
}
}

valneandre >> Si ma fonction est utile j'en suis content ^^ glob est pas mal, il faut penser à vérifier que la fonction est active (j'ai eu le cas d'un hébergeur qui l'avait désactivé de base)

Commentaire de dark_nemo le 12/11/2009 19:34:44

Arf désolé j'ai tapé trop vite >_< c'est pas un ET logique mais un OU

if((filemtime($folder.'/'.$file) > (time()-$lifetime)) || is_null($lifetime))

Encore désolé

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

suppresion de dossier recursif [ par pioug43 ] Bonjour, Je cherche un bout de code qui me permettrait de supprimer completment un dossier qui peut contenir indifferement plusieurs sous dossiers et Problème pour de liens hypertext sur les fichier .lnk [ par kt1 ] Voila je vous explique mon souci.Je dois cr&#233;er un site intranet pour ma bo&#238;te. On va y mettre tout ce qui concerne le Service Qualit&#233;. archiver un dossier et ses sous dossiers (zip ou rar) [ par mictif ] bonjour, j'essaie de me documenter sur l'archivage de dossier en php mais je ne trouve rien de tres explissite pour mon petit niveau en php.... commen que peut on défaire sur un dossier de privilèges 777 ?? [ par irkiouak ] Bonjour,J'aimerai cr&#233;er tout un dossier pour les nouveau inscrits dans mon site web.Lorsque j'attribue au dossier membre les privil&#232;ges 755 htaccess [ par kyript ] bonjour&nbsp; je ma question ici parce que je sais pas trop ou la poservoila monj'ai un .htaccess&nbsp; dans un dossierPerlSetVar AuthFile pass/liste. nom dossier [ par aderbois ] salut je vous expose mon prbleme: j'aimerais trouver un fonction de php qui me permettre de trouver le nom du dossier dans lequel se trouve le fichie Dernier dossier créé [ par maximev ] Bonjour,Est-il possible de lire une liste de dossiers et de choisir parmis ceux-ci le plus r&#233;cent de tous?Personnellement, je ne vois pas trop co Fichier joint avec mail() [ par Tilix ] Salut ! &nbsp;Alors voil&#224;, j'ai un fichier dans un dossier de mon FTP (ex : ./dossier/fichier.gz ) Je voudrais l'envoy&#233; par mail SANS pass&# Paginer dossier [ par speedylol ] Bonjour je suis sur un petit probl&#233;me je n'arrive pas a paginer le nombre de dossier cr&#233;ee je voix pas tr&#232;s bien comment faire Merci de Afficher le contenu d'un dossier [ par Toolsweb ] SAlut, je voudrais afficher le contenu d'un dossier nomm&#233; fichiers. j'ai trouv&#233; ceci&lt;?$dir=opendir("images"); while($fi


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,030 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales