rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut :

Afficher le contenu d'un repertoire en PHP

Posté par Fayçal, le mardi 15 novembre 2005 à 13:51:21
je veux afficher une liste des fichiers d'un repertoires en utilisant PHP, par exemple, sur mon site , j'ai un repertoire mp3 qui contient des mp3, je veux qu'une page "list.php" affiche le contenu de ce repertoire, merçi

si vous avez un autre astuce plus simple ça serait mieux, merçi
Répondre à Fayçal  Signaler ce message aux modérateurs Aller au dernier message

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
wiwimagique, le mardi 15 novembre 2005 à 14:06:15
voilà la solution

http://fr.php.net/manual/fr/function.readdir.php
Dans sa voiture rouge et jaune
Répondre à wiwimagique

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Musa Stephen HONLUE, le mardi 8 mai 2007 à 05:37:45
teste ce bout de code

<?php
$dir = opendir("le_chemin_vers_ton_repertoire");
while($file = readdir($dir)) {
echo "$file\n";
}
closedir($dir);
?>
------------------------------------------------
(HMS) la réussite ne s'improvise pas!!!
Répondre à Musa Stephen HONLUE

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
damien, le lundi 30 juillet 2007 à 15:10:58
bonjour, je viens d'utiliser ce bout de code sur un des mes sites et çà fonctionne bien mais je rencontre un pb pour l'affichage du résultats:

je voudrais savoir comment faire pour que les noms de fichiers apparaissent en colonne plutôt que les un à la suite des autres à l'horizontale.

avez vous une idée ?

merci d'avance
Répondre à damien


  • 4
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
gryzzly, le lundi 30 juillet 2007 à 17:58:26
tiens, regarde si ca te conviens, j'ai fait ca y'a quelques semaines sur ccm, je retrouve plus la version in line... mais tu auras pas de difficultés à le tester et a le mettre à ta guise :

<?php
$dir_nom = '.'; // dossier listé (pour lister le répertoir courant : $dir_nom = '.'  --> ('point')
$dir = opendir($dir_nom) or die('Erreur de listage : le répertoire n\'existe pas'); // on ouvre le contenu du dossier courant
$fichier= array(); // on déclare le tableau contenant le nom des fichiers
$dossier= array(); // on déclare le tableau contenant le nom des dossiers

while($element = readdir($dir)) {
	if($element != '.' && $element != '..') {
		if (!is_dir($dir_nom.'/'.$element)) {$fichier[] = $element;}
		else {$dossier[] = $element;}
	}
}

closedir($dir);

if(!empty($dossier)) {
	sort($dossier); // pour le tri croissant, rsort() pour le tri décroissant
	echo "Liste des dossiers accessibles dans '$dir_nom' : \n\n";
	echo "\t\t<ul>\n";
		foreach($dossier as $lien){
			echo "\t\t\t<li><a href=\"$dir_nom/$lien \">$lien</a></li>\n";
		}
	echo "\t\t</ul>";
}

if(!empty($fichier)){
	sort($fichier);// pour le tri croissant, rsort() pour le tri décroissant
	echo "Liste des fichiers/documents accessibles dans '$dir_nom' : \n\n";
	echo "\t\t<ul>\n";
		foreach($fichier as $lien) {
			echo "\t\t\t<li><a href=\"$dir_nom/$lien \">$lien</a></li>\n";
		}
	echo "\t\t</ul>";
 }
?>
Deux choses sont infinies : l'Univers et la bêtise humaine.
Mais en ce qui concerne l'Univers, je n'en ai pas encore acquis la certitude absolue. A. Einstein
Répondre à gryzzly

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
damien, le lundi 6 août 2007 à 15:10:40
bonjour,

merci pour ce bout de script, il correspond bien à ce que je recherchais!

parcontre je n'arrive pas à voir comment je pourrait ensuite faire pour supprimer un où plusieurs des fichiers parmis la liste..

avec une case à cocher qui renseigne une fonction ulink mais bon... j'ai pas trop d'idée là...

si qqun à un tuyau c cool.

Merci encore pour la réponse.

bye
Répondre à damien

9


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
someone, le mardi 15 janvier 2008 à 19:28:53
ton code ma bcp servis mais j'ai eu du mal a rajoute une optien pour filré les fichier : commme php ou autre en premier j'utilise ce code :
 <?php
    
     function listing($repertoire){
   
     $fichier = array();
    
     if (is_dir($repertoire)){
    
     $dir = opendir($repertoire); //ouvre le repertoire courant désigné par la variable
     while(false!==($file = readdir($dir))){ //on lit tout et on récupere tout les fichiers dans $file
   
     if(!in_array($file, array('.','..'))){ //on eleve le parent et le courant '. et ..'
    
     $page = $file; //sort l'extension du fichier
     $page = explode('.', $page);
     $nb = count($page);
     $nom_fichier = $page[0];
     for ($i = 1; $i < $nb-1; $i++){
     $nom_fichier .= '.'.$page[$i];
     }
     if(isset($page[1])){
    $ext_fichier = $page[$nb-1];
    if(!is_file($file)) { $file = ''.$file; }
    
	 }
     else 
	 {
    if(!is_file($file)) { $file = ''.$file; } //on rajoute un "/" devant les dossier pour qu'ils soient triés au début
	
	
	
     $ext_fichier = '';
	
     }
    
     if($ext_fichier != 'php3' and $ext_fichier != 'db' ) { //utile pour exclure certains types de fichiers à ne pas lister
     array_push($fichier, $file);
     }
    }
     }
     }
    

	
     natcasesort($fichier); //la fonction natcasesort( ) est la fonction de tri standard sauf qu'elle ignore la casse
     // et la date du téléchargement

      
    foreach($fichier as $value) {

	
     echo '    <a href="'.rawurlencode($repertoire).'/'.rawurlencode(str_­replace ('/', '', $value)).'"  target=\"_blank\">'.$value.'</a> <br />';
	



     }
    
     }
    
     //exemple d'utilisation :
   
     listing('admin/UPLOAD/emploi/upload'); //chemin du dossier

   ?> 

exp
il marché tres bien localement mais une fois que j'ai mis le site sur le serveur j'ai eu des probleme de lien voici donc ce qu'il me donne exp : The requested URL /admin/UPLOAD/emploi/upload/emploi du temsp.pdf was not found on this server.

puis j'ai adopter le tien et les liens marche trés bien apart que cette fois ci il affiche aussi le liens des page web.
Répondre à someone

17


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
bonumide, le lundi 12 mai 2008 à 09:59:11
Bonjour,
As tu trouvez comment mettre le filtre pour les fichiers php?
Merci
Répondre à bonumide

18


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
bonumide, le lundi 12 mai 2008 à 10:39:46
En fait j'ai fini par trouver
il faut utiliser la fonction
strrchr
.
l'excellent code de notre ami marche à merveille
<?php
$dir_nom = '.'; // dossier listé (pour lister le répertoir courant : $dir_nom = '.'  --> 

('point')
$dir = opendir($dir_nom) or die('Erreur de listage : le répertoire n\'existe pas'); // on 

ouvre le contenu du dossier courant
$fichier= array(); // on déclare le tableau contenant le nom des fichiers
$dossier= array(); // on déclare le tableau contenant le nom des dossiers

while($element = readdir($dir)) {
	if($element != '.' && $element != '..' && strrchr($element,'.') != '.php') {
		if (!is_dir($dir_nom.'/'.$element)) {$fichier[] = $element;}
		else {$dossier[] = $element;}
	}
}

closedir($dir);

if(!empty($dossier)) {
	sort($dossier); // pour le tri croissant, rsort() pour le tri décroissant
	echo "Liste des dossiers accessibles dans '$dir_nom' : \n\n";
	echo "\t\t<ul>\n";
		foreach($dossier as $lien){
			echo "\t\t\t<li><a href=\"$dir_nom/$lien \">$lien</a></li>\n";
		}
	echo "\t\t</ul>";
}

if(!empty($fichier)){
	sort($fichier);// pour le tri croissant, rsort() pour le tri décroissant
	
	echo "\t\t<ul>\n";
		foreach($fichier as $lien) {
			echo "\t\t\t<li><a href=\"$dir_nom/$lien \">$lien</a></li>\n";
		}
	echo "\t\t</ul>";
 }
?>
Répondre à bonumide

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
nayon, le mercredi 19 mars 2008 à 13:53:33
bonjour a tous,

voilà je sais que ce topic est vieux de 9 mois, mais voilà je ne comprend pas entièrement la script de gryzzly pour lister
le contenu d'un repertoire.

Pourquoi a t on besoin de tester si $exemple = '.' et '..'

voilà

merci d'avance pour vos reponses
Répondre à nayon

12


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
gryzzly, le mercredi 19 mars 2008 à 19:12:22
parce que fais le test, sans tester ces deux éléments. Tu verras que c'est très moche ! Tu n'a pas besoin d'afficher dans le listing le dossier ou tu es (.) ni le dossier supérieur (..) (a moins que dans ton cas tu ne cherches justement à les afficher mais je ne vois pas l'intéret d'afficher à l'écran un . et deux ..)

Suis je clair ? Fais le test, ce sera bcp plus parlant ! J'ai toujours aimé le désert. On s'assoit sur une dune de sable. On ne voit rien. On n'entend rien. Et cependant quelque chose rayonne en silence...
[A.S-E.]
Répondre à gryzzly

13


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
nayon, le mardi 25 mars 2008 à 14:25:57
slt, désolé de répondre tardivement

En faite j'avais mal posé mal question et j'avais testé l'affichage sans enlever le . et le ..
Je voulais savoir à quoi ils servaient, en tout cas maintenant je sais grâce à toi que cela sert à se balader dans l'arborescence.

Merci pour tout

Tchao
Répondre à nayon

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
boubaka, le mercredi 31 octobre 2007 à 22:59:37
Bonjour,

j'aimerais savoir comment on peut afficher le contenu d'un repertoire perso d'un membres

je m'explique un membre veut uploader un fichier à partir de son profil, une fois uploader cela créer un repertoire perso ok ca marche mais ce que je voudrais faire c'est que lorsque le membres veut creer un posts ou répondre à un post et celui-ci veut introduire un de ces fichiers uploader ceux-ci apparaisse automatiquement en bas de chaque nouveaux posts qu'il veut créer avec à côté du fichier une case à cocher qui enverrait du bbcode dans la zone de texte quand le fichier est séléctionner et donc quand le memebres fait envoyer le message le fichier s'introduit avec le message.
mais les fichiers faudrait qu'ils apparaissent seulement aux membres concerné par son repertoire et seulement si celui ci est connecté avec son identifiant
je ne sais pas si je me suis fait comprendre excusez moi c'est un peu long mais merci d'avance

A+
Répondre à boubaka

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
christophedortel, le dimanche 30 décembre 2007 à 20:11:01
Merci pour ce script Gryzzly .
J'aimerai savoir comment ajouter à la fin des lignes du listing, la taille des fichiers .
Et si possible, en debut des lignes, une icone par extension .

Mon but etant de refaire un peu ce que l'on voit sur une page ftp que je ne peux utiliser car il y a parfois plusieurs dossiers à ouvrir pour un seul client (membre) .

Merci par avance
Répondre à christophedortel

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
sonik21, le lundi 31 décembre 2007 à 15:11:03
salut,
il est trop canon ton script gryzzli !!!
jen avais besoin mai je ne trouvai pas
il est vraiment super !!!


http://mvhbooster.ifrance.com
Répondre à sonik21

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
scud, le jeudi 7 février 2008 à 10:59:54
Salut,
J'ai récuperer le script de gryzzly qui marche à merveille.
Mais voila, je voudrais ajouter une petite modif. Je voudrais qu'au lieu d'ouvrir le fichier en cliquant dessus, je voudrais que ça le supprime.
Pour cela j'ai modifier une ligne :

echo "\t\t\t<li><a href=\"<? unlink($dir_nom/$lien); ?> \">$lien</a></li>\n";

Mais, il me repond : You don't have permission to access /monsite/Admin/< on this server.

Ou est mon erreur ?
y'a t'il une autre solution ?

Merci
Répondre à scud

14


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
asas, le lundi 7 avril 2008 à 14:46:11
bonjour,
j'ai un pb d'affichages d'une liste des utilisateurs , je travaille avec php , et je dois afficher la liste des utilisateurs , mais il ne m'affiche pas toute la liste.
Répondre à asas

15


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Yannick, le lundi 7 avril 2008 à 23:04:49
Salut a tous,
Alors ma question est la suivante que doit-on mettre pour afficher un listing d'un dossier mais comprenant qu'un type de fichier dans mon cas des fichiers .HTML
En faite je voudrais afficher un listing mais que de fichiers html et non pas des autres fichiers présent sur ce même dossier.
Merci de votre réponse
Cordialement
Répondre à Yannick

16


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
ocb, le dimanche 13 avril 2008 à 19:45:08
Bonjour
je desirerais ouvrir un repertoire crée, dans une fenetre prevu a cette effet. Le probleme etant ke c tout le site qui s'affiche dans le fenetre sur internet explorer en revanche cela fonctionne tres bien sur mozilla.Pkoi et que puis je faire?


// Le répertoire a été choisi
if ( isset($_POST['gal']) )
{
if ( strtoupper($_POST['gal']) == "new" )
{
if ( isset($_POST['repertoire']) )
{
if(is_dir($relative_files_path . $_POST['repertoire']))
{
echo "<form name=\"repertoire\" method=\"post\" action=\"upload.php?gal=new\">";
echo "Ce répertoire existe déjà.<br>Merci de choisir un nouveau nom de répertoire : <br>";
echo "<input type=\"text\" name=\"repertoire\">   <input type=\"submit\" name=\"submit\" value=\"Valider\">";
echo "<input type=\"hidden\" name=\"reponse_OK\">";
echo "</form>";

echo "<form name=\"repertoire\" method=\"post\" action=\"upload.php\">";
echo "<input type=\"hidden\" name=\"reponse_OK\">";
list_dir_to_upload($relative_files_path, "répertoires");
echo "<input type=\"submit\" name=\"submit\" value=\"Valider\">";
echo "</form>";
}
else
{
mkdir($relative_files_path . supprimer_accents($_POST['repertoire']));
afficher_upload($_POST['repertoire']);
}
}
}
else
{
afficher_upload($_POST['gal']);
}
}
// Choix du répertoire
else
{
echo "Choisissez le répertoire dans lequel vous voulez déposer vos photos, ou créez un nouveau répertoire à votre nom :<br><br>";
echo "<form name=\"repertoire\" method=\"post\" action=\"upload.php\">";
echo "<input type=\"hidden\" name=\"reponse_OK\">";
echo "<input type='hidden' name='gal' value='new'>";
echo "Nouveau répertoire : <input type=\"hidden\" name=\"reponse_OK\">";
echo "<input type=\"text\" name=\"repertoire\"> <input type=\"submit\" name=\"submit\" value=\"Créer un nouveau répertoire\">";
echo "</form>";

echo "<form name=\"repertoire\" method=\"post\" action=\"upload.php\">";
echo "<input type=\"hidden\" name=\"reponse_OK\">";
list_dir_to_upload($relative_files_path, "répertoires");
echo "<input type=\"submit\" name=\"submit\" value=\"Valider\">";
echo "</form>";
}
}
Répondre à ocb

19


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
zazouz100, le samedi 5 juillet 2008 à 23:15:51
il y a un truck que je comprend pas ces codes sont surement juste mais moi sa ne marche pas!
j'ai essayé avec le bock note et ouvert avec Mozilla firefox mais sa ne marche pas.
Répondre à zazouz100

20


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
sonik21, le jeudi 10 juillet 2008 à 02:03:57
bah...il faudrait peut-être que tu l'upload sur un serveur ou que tu utilise un serveur local ! windows (ou tout autre système d'exploitation je pense) ne lit pas le PHP !
si tu n'as pas de compte ftp, je te conseil de télécharger WAMP manager ( je l'utilise et il fonctionne parfaitement).
il permet de lire les PHP en étant hors-ligne. sinon, inscrit-toi sur un site qui propose un hébergement(ifrance et lycos multimania sont gratuit).
Répondre à sonik21

21


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
zazouz100, le jeudi 10 juillet 2008 à 10:17:54
ok merci de ta reponce!
Répondre à zazouz100

22


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 sonik21, le vendredi 11 juillet 2008 à 21:13:10
derien :p
Répondre à sonik21
Logiciels pertinents trouvés dans les téléchargements
Télécharger PHP Edit 0.6PHP Edit - PHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de...Catégorie: PHP
Licence: Freeware/gratuit
Télécharger WAMP Server 2.0cWAMP Server - WAMP5 (WAMP signifiant Windows Apache Mysql PHP) est une plateforme de développement Web sous Windows. Il vous permet de...Catégorie: Serveurs
Licence: Freeware/gratuit
Télécharger Naomi 3.2.90Naomi - Naomi est un logiciel de contrôle parental gratuit et simple d'utilisation. N'étant pas basé sur une liste noire, il analyse...Catégorie: Contrôle parental
Licence: Freeware/gratuit
Télécharger ADSL Autoconnect 206F7ADSL Autoconnect - ADSL Autoconnect est un logiciel très puissant qui permet de gérer de manière simple et efficace sa connexion Internet ADSL...Catégorie: ADSL
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « afficher le contenu d'un repertoire en PHP »