Lister un repertoire
Résolu
Bill-Billion
Messages postés
41
Date d'inscription
Statut
Membre
Dernière intervention
-
Reivax962 Messages postés 3672 Date d'inscription Statut Membre Dernière intervention -
Reivax962 Messages postés 3672 Date d'inscription Statut Membre Dernière intervention -
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
- Sql lister les tables ✓ - Forum Programmation
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
41
Date d'inscription
Statut
Membre
Dernière intervention
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
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
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 ?