PHP lister fichier
Résolu/Fermé
darkchristophetd
Messages postés
1100
Date d'inscription
mardi 26 février 2008
Statut
Contributeur
Dernière intervention
14 novembre 2010
-
19 nov. 2008 à 12:09
darkchristophetd Messages postés 1100 Date d'inscription mardi 26 février 2008 Statut Contributeur Dernière intervention 14 novembre 2010 - 19 nov. 2008 à 17:02
darkchristophetd Messages postés 1100 Date d'inscription mardi 26 février 2008 Statut Contributeur Dernière intervention 14 novembre 2010 - 19 nov. 2008 à 17:02
Bonjour,
Existe-t-il une fonction php qui permette de lister tout les fichiers présents dans un dossier ?
merci
Existe-t-il une fonction php qui permette de lister tout les fichiers présents dans un dossier ?
merci
A voir également:
- PHP lister fichier
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Ouvrir fichier .bin - Guide
- Fichier iso - Guide
12 réponses
xxkirastarothxx
Messages postés
380
Date d'inscription
vendredi 19 octobre 2007
Statut
Membre
Dernière intervention
22 mars 2013
40
19 nov. 2008 à 12:19
19 nov. 2008 à 12:19
Google => recherche de PHP lister fichier
premier lien:
www.comscripts.com/sources/php.liste-des-fichiers-dun-dossier.51.html
Toute les réponses là....
Bravo pour la recherche ^^
premier lien:
www.comscripts.com/sources/php.liste-des-fichiers-dun-dossier.51.html
Toute les réponses là....
Bravo pour la recherche ^^
darkchristophetd
Messages postés
1100
Date d'inscription
mardi 26 février 2008
Statut
Contributeur
Dernière intervention
14 novembre 2010
459
19 nov. 2008 à 12:26
19 nov. 2008 à 12:26
merci
est-ce posssible de faire en sorte que quand on clique sur un fichier, il s'ouvre ?
est-ce posssible de faire en sorte que quand on clique sur un fichier, il s'ouvre ?
xxkirastarothxx
Messages postés
380
Date d'inscription
vendredi 19 octobre 2007
Statut
Membre
Dernière intervention
22 mars 2013
40
19 nov. 2008 à 12:33
19 nov. 2008 à 12:33
Suffis de rajouter un lien ^^
<?php $folder = "./"; $dossier = opendir($folder); while ($Fichier = readdir($dossier)) { if ($Fichier != "." && $Fichier != "..") { $nomFichier = $folder."".$Fichier; echo '<a href="'.$nomFichier.'">'.$nomFichier.'</a><BR>'; } } closedir($dossier); ?>
darkchristophetd
Messages postés
1100
Date d'inscription
mardi 26 février 2008
Statut
Contributeur
Dernière intervention
14 novembre 2010
459
19 nov. 2008 à 12:45
19 nov. 2008 à 12:45
d'accord
mais quand je met ce code :
Il me met ça :
Warning: opendir(../uploads/) [function.opendir]: failed to open dir: Permission denied in /var/www/virtual/web-innovation.eg2.fr/htdocs/admin/uploads.php on line 31
Warning: readdir(): supplied argument is not a valid Directory resource in /var/www/virtual/web-innovation.eg2.fr/htdocs/admin/uploads.php on line 32
Warning: closedir(): supplied argument is not a valid Directory resource in /var/www/virtual/web-innovation.eg2.fr/htdocs/admin/uploads.php on line 39
mais quand je met ce code :
<?php $folder = "../uploads"; $dossier = opendir($folder); while ($Fichier = readdir($dossier)) { if ($Fichier != "." && $Fichier != "..") { $nomFichier = $folder."".$Fichier; echo '<a href="'.$nomFichier.'">'.$nomFichier.'</a><BR>'; } } closedir($dossier); ?>
Il me met ça :
Warning: opendir(../uploads/) [function.opendir]: failed to open dir: Permission denied in /var/www/virtual/web-innovation.eg2.fr/htdocs/admin/uploads.php on line 31
Warning: readdir(): supplied argument is not a valid Directory resource in /var/www/virtual/web-innovation.eg2.fr/htdocs/admin/uploads.php on line 32
Warning: closedir(): supplied argument is not a valid Directory resource in /var/www/virtual/web-innovation.eg2.fr/htdocs/admin/uploads.php on line 39
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
xxkirastarothxx
Messages postés
380
Date d'inscription
vendredi 19 octobre 2007
Statut
Membre
Dernière intervention
22 mars 2013
40
19 nov. 2008 à 12:57
19 nov. 2008 à 12:57
dans quel dossier se trouve le dossier upload? dans htdocs ?
Apparement c'est un problème de droits.
Serveur locale ? si oui tu dois modifier les droits par la commande chmod -XXX /ton/chemin/vers/upload
Sinon tu es chez un hébergeur ?
Si oui tu dois utiliser ton logiciel FTP pour modifier les droits (chmod) du dossier upload.
Apparement c'est un problème de droits.
Serveur locale ? si oui tu dois modifier les droits par la commande chmod -XXX /ton/chemin/vers/upload
Sinon tu es chez un hébergeur ?
Si oui tu dois utiliser ton logiciel FTP pour modifier les droits (chmod) du dossier upload.
darkchristophetd
Messages postés
1100
Date d'inscription
mardi 26 février 2008
Statut
Contributeur
Dernière intervention
14 novembre 2010
459
19 nov. 2008 à 12:59
19 nov. 2008 à 12:59
il se trouve dans le dossier qui contient la page et s'appelle en effet "uploads"
Je suis chez un hébergeur (espace gratuit 2)
J'ai mis le chmod à 733.
Combien il faut mettre ?
Je suis chez un hébergeur (espace gratuit 2)
J'ai mis le chmod à 733.
Combien il faut mettre ?
xxkirastarothxx
Messages postés
380
Date d'inscription
vendredi 19 octobre 2007
Statut
Membre
Dernière intervention
22 mars 2013
40
19 nov. 2008 à 13:01
19 nov. 2008 à 13:01
alors déjà modifie la ligne $folder = "../uploads";
essaye $folder = "./uploads";
ou $folder = "/uploads";
car ../ signifie que tu remonte d'un dossier; il va chercher ton dossier a cet endrois en ce moment:
[...]/htdocs/uploads
au lieu de [...]/htdocs/admin/uploads
Sinon essaye de mettre un chmod 777 (c'est le max) pour verifier si ça fonctionne, mais attention, tout les utilisateur on tout les droits, a toi de voir quel chmod te conviens le mieux (pour ça va voir ici: tu trouvera des explication sur l'utilisation du chmod:
https://fr.wikipedia.org/wiki/Chmod
http://www.siteduzero.com/tutoriel-3-36115-les-chmod.html
essaye $folder = "./uploads";
ou $folder = "/uploads";
car ../ signifie que tu remonte d'un dossier; il va chercher ton dossier a cet endrois en ce moment:
[...]/htdocs/uploads
au lieu de [...]/htdocs/admin/uploads
Sinon essaye de mettre un chmod 777 (c'est le max) pour verifier si ça fonctionne, mais attention, tout les utilisateur on tout les droits, a toi de voir quel chmod te conviens le mieux (pour ça va voir ici: tu trouvera des explication sur l'utilisation du chmod:
https://fr.wikipedia.org/wiki/Chmod
http://www.siteduzero.com/tutoriel-3-36115-les-chmod.html
darkchristophetd
Messages postés
1100
Date d'inscription
mardi 26 février 2008
Statut
Contributeur
Dernière intervention
14 novembre 2010
459
19 nov. 2008 à 13:02
19 nov. 2008 à 13:02
ah c bon
j'ai mis le chmod a 777
et ça marche avec ce code :
merci
j'ai mis le chmod a 777
et ça marche avec ce code :
<?php $folder = "../uploads/"; $dossier = opendir($folder); while ($Fichier = readdir($dossier)) { if ($Fichier != "." && $Fichier != "..") { $nomFichier = $folder."".$Fichier; echo '<a href="../uploads/'.$nomFichier.'">'.$nomFichier.'</a><BR>'; } } closedir($dossier); ?>
merci
xxkirastarothxx
Messages postés
380
Date d'inscription
vendredi 19 octobre 2007
Statut
Membre
Dernière intervention
22 mars 2013
40
19 nov. 2008 à 13:07
19 nov. 2008 à 13:07
Si t'as pas envie de te prendre la tête avec les chmod, mais si tu souhaite quand même garder un minimum de sécurité, change tes chmod petit a petit:
777 => 776 => 775 => 774
77X =>76X => 75X => 74X
le premier chiffre donne les droits au créateur du dossier (normalement toi)
le deuxieme au groupe du créateur
le troisieme au reste <= c'est surtout celui la qu'il est important de réduire, le plus petit (temps que ça fonctionne) serra le mieux ;)
Bonne chance ;)
777 => 776 => 775 => 774
77X =>76X => 75X => 74X
le premier chiffre donne les droits au créateur du dossier (normalement toi)
le deuxieme au groupe du créateur
le troisieme au reste <= c'est surtout celui la qu'il est important de réduire, le plus petit (temps que ça fonctionne) serra le mieux ;)
Bonne chance ;)
darkchristophetd
Messages postés
1100
Date d'inscription
mardi 26 février 2008
Statut
Contributeur
Dernière intervention
14 novembre 2010
459
19 nov. 2008 à 13:40
19 nov. 2008 à 13:40
merci
une dernière chose : comment faire pour récupérer la taille de ces fichiers ?
une dernière chose : comment faire pour récupérer la taille de ces fichiers ?
xxkirastarothxx
Messages postés
380
Date d'inscription
vendredi 19 octobre 2007
Statut
Membre
Dernière intervention
22 mars 2013
40
19 nov. 2008 à 14:10
19 nov. 2008 à 14:10
Tu dois pas chercher beaucoup quand même hein, c'est le genre de question ou l'on trouve plus rapidement la reponse que le temps de la poser en plus...
Google => taille fichier php
Et Hop on trouvela commande php qui permet ça: filesize();
on trouve aussi des script qui retaille automatiquement la taille en Ko ou Go
Dans ton cas modifie la ligne:
echo '<a href="'.$nomFichier.'">'.$nomFichier.'</a><BR>';
par:
echo '<a href="'.$nomFichier.'">'.$nomFichier.' - '.filesize($nomFichier).'</a><BR>';
La taille serra 0 pour les dossiers et en octets pour les fichiers.
Si tu veux, tu peux definir des condition d'affichage: par exemple avec if(!is_dir()) pour verifier qu'il ne s'agit pas d'un dossier, dans quel cas on n'affichera pas la taille
ou tu peux tester la taille aussi: si ça depasse 1024 tu divise par 1024 et tu affiche en Ko au lieu d'en octets...
Google => taille fichier php
Et Hop on trouvela commande php qui permet ça: filesize();
on trouve aussi des script qui retaille automatiquement la taille en Ko ou Go
Dans ton cas modifie la ligne:
echo '<a href="'.$nomFichier.'">'.$nomFichier.'</a><BR>';
par:
echo '<a href="'.$nomFichier.'">'.$nomFichier.' - '.filesize($nomFichier).'</a><BR>';
La taille serra 0 pour les dossiers et en octets pour les fichiers.
Si tu veux, tu peux definir des condition d'affichage: par exemple avec if(!is_dir()) pour verifier qu'il ne s'agit pas d'un dossier, dans quel cas on n'affichera pas la taille
ou tu peux tester la taille aussi: si ça depasse 1024 tu divise par 1024 et tu affiche en Ko au lieu d'en octets...
Bonjour la réponse à ta question figure dans le manuel de php. Mais pour t'éclairer davantage, il faut utiliser les fonctions "opendir" et readdir:
<?php
// Notez que !== n'existait pas avant 4.0.0-RC2
if ($handle = opendir('/chemin/vers/fichiers')) {
echo "Directory handle: $handle\n";
echo "Files:\n";
/* Ceci est la façon correcte de traverser un dossier. */
while (false !== ($file = readdir($handle))) {
echo "$file\n";
}
/* Ceci est la MAUVAISE façon de traverser un dossier. */
while ($file = readdir($handle)) {
echo "$file\n";
}
closedir($handle);
}
?>
<?php
// Notez que !== n'existait pas avant 4.0.0-RC2
if ($handle = opendir('/chemin/vers/fichiers')) {
echo "Directory handle: $handle\n";
echo "Files:\n";
/* Ceci est la façon correcte de traverser un dossier. */
while (false !== ($file = readdir($handle))) {
echo "$file\n";
}
/* Ceci est la MAUVAISE façon de traverser un dossier. */
while ($file = readdir($handle)) {
echo "$file\n";
}
closedir($handle);
}
?>
darkchristophetd
Messages postés
1100
Date d'inscription
mardi 26 février 2008
Statut
Contributeur
Dernière intervention
14 novembre 2010
459
19 nov. 2008 à 17:02
19 nov. 2008 à 17:02
merci a tous