Lister un repertoire
Résolu
Bill-Billion
Messages postés
42
Statut
Membre
-
Reivax962 Messages postés 3742 Statut Membre -
Reivax962 Messages postés 3742 Statut Membre -
Bonjour,
J'aimerais lister un dossier j'ai trouvé ce code sur un forum
Je l'ai vu enfaite pour la premiere fois ::j'ai d'abord lu les explications pour en comprendre,par contre j'ai pas trouvé tous les explications.
J'aimerais que quelqu'un m'aide à comprendre
Le gag
si $dir est le chemin
mon script php se trouve dans le dossier (Ex:essaie)
Rps du script
pourquoi $file m'affiche (..)par la suite s'il n'est pas entré dans un sous dossier pour afficher les fichier?
Mon autre question:
L'objectif enfaite c'etait d'uploader un fichier
move_uploaded_file()
J'ai d'abord deplacé le fichier et par la suite stocké son nom en base de données
ce que je veux c'est generer un compteur pour chaque fichier envoyé via le formulaire
je voudrais compter le nombre de fichier qui se trouve dans le dossier pour enfaire une boucle.
1.png,2.png
J'aimerais savoir comment je peux le faire?
Merçi de votre aide
J'aimerais lister un dossier j'ai trouvé ce code sur un forum
<?php
function list_dir($name) {
if ($dir = opendir($name)) {
while($file = readdir($dir)) {
echo "$file\n";
if(is_dir($file) && !in_array($file, array(".",".."))) {
list_dir($file);
}
}
closedir($dir);
}
}
list_dir(".")
?>
Je l'ai vu enfaite pour la premiere fois ::j'ai d'abord lu les explications pour en comprendre,par contre j'ai pas trouvé tous les explications.
J'aimerais que quelqu'un m'aide à comprendre
Le gag
si $dir est le chemin
mon script php se trouve dans le dossier (Ex:essaie)
Rps du script
/*
.
..
soleil.png
lune.png
- /
pourquoi $file m'affiche (..)par la suite s'il n'est pas entré dans un sous dossier pour afficher les fichier?
Mon autre question:
L'objectif enfaite c'etait d'uploader un fichier
move_uploaded_file()
J'ai d'abord deplacé le fichier et par la suite stocké son nom en base de données
ce que je veux c'est generer un compteur pour chaque fichier envoyé via le formulaire
je voudrais compter le nombre de fichier qui se trouve dans le dossier pour enfaire une boucle.
1.png,2.png
J'aimerais savoir comment je peux le faire?
Merçi de votre aide
A voir également:
- Lister un repertoire
- Répertoire téléphonique gratuit - Télécharger - Bureautique
- Lister les disques cmd - Guide
- Pourquoi certains contacts disparaissent de mon répertoire - Accueil - Guide Android
- Créer un répertoire alphabétique sur word - Forum Excel
- Commande dos copy repertoire et sous repertoire - Forum Logiciels
4 réponses
Bonjour
Je n'ai pas tout compris à ton explication..
Pourquoi vouloir les nommer 1.jpeg 2 ...3...
Il serait plus simple de générer des noms unique (en utilisant la fonction uniqid() par exemple )
Je n'ai pas tout compris à ton explication..
Pourquoi vouloir les nommer 1.jpeg 2 ...3...
Il serait plus simple de générer des noms unique (en utilisant la fonction uniqid() par exemple )
Bill-Billion
Messages postés
42
Statut
Membre
Merçi pour votre réponse je vais en chercher d'avantage sur cette fonction
Bonjour,
Les répertoires « factices » « . » et « .. » seront toujours retournés par la fonction readdir.
Si tu ne veux pas les afficher, tu peux utiliser la même technique que pour la récurrence de ton code : remplacer
Xavier
Les répertoires « factices » « . » et « .. » seront toujours retournés par la fonction readdir.
Si tu ne veux pas les afficher, tu peux utiliser la même technique que pour la récurrence de ton code : remplacer
echo "$file\n";par
if (!in_array($file, array(".",".."))) echo "$file\n";
Xavier
bonjour, suggestion pour compter le nombre de fichiers:
$nombre=0; while($file = readdir($dir)) { if( ! is_dir($file) ) { $nombre = $nombre + 1 ; } }
Ce qui ne sera plus necessaire si il génère des noms uniques aléatoires pour ses fichiers au lieu de vouloir faire un système d'incrémentation.
Incrémentation qui, de toutes façons, pourrait se faire en utilisant une simple requête SQL (un COUNT dans sa bdd... ) puisqu'il semble indiquer qu'il stocke le chemin des fichiers en base...
Incrémentation qui, de toutes façons, pourrait se faire en utilisant une simple requête SQL (un COUNT dans sa bdd... ) puisqu'il semble indiquer qu'il stocke le chemin des fichiers en base...
Le problème en incrémentant par rapport au nombre de fichiers dans ton répertoire... c'est que si tu en supprime.... au prochain ajout tu vas écraser des fichiers existants...
Pour être plus clair :
Tu as 3 fichiers ( le 1, le 2 et le 3 )
Pour une raison quelconque, tu supprimes le fichier 2
Puis tu veux uploader un nouveau fichier... il se nommera 3 ... et va donc écraser le "3" existant....
Pas de soucis avec le nommage "unique"....
Pour être plus clair :
Tu as 3 fichiers ( le 1, le 2 et le 3 )
Pour une raison quelconque, tu supprimes le fichier 2
Puis tu veux uploader un nouveau fichier... il se nommera 3 ... et va donc écraser le "3" existant....
Pas de soucis avec le nommage "unique"....
Un utilisateur n'a pas le droit de supprimer ses images ?
Tu ne supprimeras pas les images d'un utilisateur si tu supprimes l’utilisateur (ou qu'il se désinscrit ? )
=> Pour ces deux points.. attention à la RGPD !
et puis... tu ne feras jamais d'erreur et ne supprimeras jamais (par erreur, mégarde... bug.. ) un fichier dans ce répertoire ?
Tu ne supprimeras pas les images d'un utilisateur si tu supprimes l’utilisateur (ou qu'il se désinscrit ? )
=> Pour ces deux points.. attention à la RGPD !
et puis... tu ne feras jamais d'erreur et ne supprimeras jamais (par erreur, mégarde... bug.. ) un fichier dans ce répertoire ?