Scan d'un répertoire ou table en base de données ?

Scan d'un répertoire ou table en base de données ? - PHP - Programmation

Marsh Posté le 02-11-2009 à 10:29:10    

Bonjour à tous !
 
J'ai une question toute bête : voilà, j'ai une série de fichiers à rendre disponible au téléchargement. Il n'y pas d'arborescence, le nom du fichier est déjà clair, etc...
J'ai deux possibilités pour récupérer la liste des fichiers :
- Mettre tous les fichiers dans un dossier, scanner ce dossier, et sortir cette liste. Et ça a l'avantage de permettre facilement par la suite l'ajout de nouveaux fichiers ( on colle dans le dossier, et c'est bon ).
- Créer une table qui indexe tous les fichiers, puis faire un appel en base qui sortira la liste. Un peu plus compliqué à maintenir par la suite, il faut ajouter une entrée en base à chaque fichier, etc...
 
Mon interrogation se situe surtout au niveau de la rapidité : est-ce que scanner un répertoire sera vraiment plus lourd qu'un appel en base, ou équivalent ?
 
Merci d'avance pour vos lumières  :jap:


Message édité par DaSayan le 02-11-2009 à 10:30:32
Reply

Marsh Posté le 02-11-2009 à 10:29:10   

Reply

Marsh Posté le 02-11-2009 à 11:07:32    

oui , mais si tu reste dans des volumes de fichiers raisonnables, ça va le faire
par contre une bdd te simplifiera la vie par la suite si tu veux déplacer les fichiers ailleurs, ou si tu veux mettre en palce une gestion des droits


---------------

Reply

Marsh Posté le 02-11-2009 à 11:46:29    

Pour le volume, on a va taper dans 10 ou 20 fichiers grand maximum... C'est surtout s'il y a beaucoup de visites que cela m'inquiète.
 
Pour le déplacement, il me suffit de définir le chemin des fichiers dans un fichier de constantes PHP et de changer cela quand ça arrivera, non ?
 
Par contre, c'est vrai qu'en passant par un scan du répertoire, la gestion des droits sera impossible...


Message édité par DaSayan le 02-11-2009 à 11:47:07
Reply

Marsh Posté le 03-11-2009 à 09:17:09    

une vingtaine de fichiers, c'est une broutille  :)  
 
Mais comme dit plus haut, il est préférable d'utiliser une gestion des fichiers via sql, cela sera beaucoup plus facilement maintenable, par exemple si tu veux par le futur implémenter un compteur de téléchargement.
 
Et si tu as vraiment énormément de visites et que la réduction d'une requête select à ta base lui ferait le plus grand bien, dirige toi vers un petit système de cache ;)
 

Reply

Marsh Posté le 03-11-2009 à 14:05:21    

sinon pour le scan de tes fichiers t'as DirectoryIterator, tu peu resuperé aussi les droit avec
 
http://fr2.php.net/manual/fr/class [...] erator.php

Reply

Marsh Posté le 04-11-2009 à 09:53:50    

Finalement j'ai fait ça avec une BDD et SQL, mais je ne connaissais pas cette classe DirectoryIterator... Ca a l'air vraiment bien, je garde ça sous le coude ;) Merci pour l'info !


Message édité par DaSayan le 04-11-2009 à 09:54:15
Reply

Sujets relatifs:

Leave a Replay

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