begin process at 2012 02 13 08:24:30
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Fichier / Disque

 > LISTER LES FICHIERS D'UN DOSSIER ET EN FAIRE DES LIENS ( MEILLEURE VERSION )

LISTER LES FICHIERS D'UN DOSSIER ET EN FAIRE DES LIENS ( MEILLEURE VERSION )


 Information sur la source

Note :
6,83 / 10 - par 6 personnes
6,83 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Fichier / Disque Classé sous :lister, fichiers, dossier, récursivité, liens Niveau :Débutant Date de création :02/09/2005 Date de mise à jour :09/03/2006 21:04:11 Vu :43 982

Auteur : Evangun

Ecrire un message privé
Commentaire sur cette source (62)
Ajouter un commentaire et/ou une note

 Description

Fonction basique qui affiche les fichiers et les sous-dossiers (mais pas leur contenu) d'un dossier, avec des liens créés automatiquement.
Les résultats dans cette version sont triés alphabétiquement (et insensiblement à la casse) (en fait on l'a demandé sur le forum alors je réponds ;) )

Source

  • <?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 != 'php' and $ext_fichier != 'html') { //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
  • foreach($fichier as $value) {
  • echo '<a href="'.rawurlencode($repertoire).'/'.rawurlencode(str_replace ('/', '', $value)).'">'.$value.'</a><br />';
  • }
  • }
  • //exemple d'utilisation :
  • listing('.'); //chemin du dossier
  • ?>
<?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 != 'php' and $ext_fichier != 'html') {        //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

	foreach($fichier as $value) {
			echo '<a href="'.rawurlencode($repertoire).'/'.rawurlencode(str_replace ('/', '', $value)).'">'.$value.'</a><br />';
	}

}

//exemple d'utilisation :

listing('.');        //chemin du dossier


?>

 Conclusion

Je reprends ici une source d'il y a trois mois en l'écrivant proprement et en enlevant les lignes inutiles, en corrigeant les bugs, en la rendant plus efficace (au niveau des noms de fichiers tels "fichier.zip.rar", des fichiers sans extension, des répertoires avec un point dans le nom) et en triant les résultats comme on veut (utile pour les serveurs comme Free où l'affichage est aléatoire).
Cette version épurée d'une autre source s'assume clairement en tant que non-récursive, mais reste facilement adaptable. c'est tout


 Historique

02 septembre 2005 01:38:04 :
o
02 septembre 2005 13:29:39 :
cette fois tout devrait bien marcher
28 février 2006 15:03:29 :
Plus de bug pour les espaces et le / en plus.
09 mars 2006 21:04:12 :
0

 Sources du même auteur

Source avec Zip Source avec une capture WEBFTP - GÉRER UN SITE EN LIGNE - EXPLORATEUR DE FICHIERS
TRI PAR TYPE DE FICHIER / EXTENSION
Source avec Zip Source avec une capture QUIZZ PAR CASES RADIOS

 Sources de la même categorie

UPLOADER DES FICHIER DANSUN DOSSIER, SÉCURISÉ AVEC MOT DE PA... par raizzo
COMPTEUR DE VISITES SUR FICHIER par pierreSabatier
FONCTION RECURSIVE DE DOSSIERS par tefa24600
Source avec Zip CONVERSION DES UNITÉS INFORMATIQUE (O, KIO, MIO, GIO, TIO...... par genetApt151
TROUVER LES DOUBLONS DANS UNE LISTE DE FICHIERS par soobook

 Sources en rapport avec celle ci

LISTER DES LIENS / URLS DEPUIS UN TEXTE par gmni
Source avec Zip Source avec une capture FONCTION RÉCURSIVE POUR GÉNÉRER UNE ARBORESCENCE DE FICHIERS... par caviar
GÉNÉRATION RÉCURSIVE D'UNE ARBORESCENCE DE RÉPERTOIRES par webdeb
CRÉATION D'UNE ARBORESCENCE par Charles Racaud
COPIER UN RÉPERTOIRE ET TOUT CE QU'IL CONTIENT par malalam

Commentaires et avis

Commentaire de dream303 le 02/09/2005 10:09:46

Mercciiiii  !!
Je m'empresse de tester ca !

Commentaire de dream303 le 02/09/2005 10:22:34

Bon, evidemment mon FTP marche pas ce matin ... Et j'ai cours cet aprem ...
Donc au mieux je pourrais tester ca demain ... Désolé.
allez, a+ (je te tiens au courant)

Commentaire de dream303 le 02/09/2005 13:39:39

ooouuuaaaaiiiiiss, ton script déchire !!!
Merci pour tout !
PS : je t'ai mis 10/10

Commentaire de mtrzen le 02/09/2005 13:58:43

oui, voila des modifications logiques ;à) array pour classer plustôt que laisser le hasard classer les différents liens.

Cependant, desolé de te decevoir, mais je n ai rien pompé a mon premier script plutot bidon et leger :)

par econtre tu aurais du te baser sur la deuxieme source,, celle plus en bas dans les post :)

a oui, et rajoute l exclusion des .htm .php4 .php5....
bref créé une table de fichier a ne pas lister :=)

bon pour le SCRIPT BIEN MIEU passe peut etre plus de temps a inover dans des posts plutot qu a améliorer, chose faisable en commentaire

autre point, tu a degagé l option du repertoire a ne PAS cibler,, chose qui était éssentiel a l époque ;) prquoi l avoir supprimer, cela prenais 2 3 lignes ;)

menfin, je trouve phpcs de plus en plus puéril,, ca devient concourt ici :p

Commentaire de dream303 le 02/09/2005 17:13:12

lol ...
meuh nonn

Commentaire de Evangun le 02/09/2005 17:37:40

Non ce n'est pas un concours mais ça m'a saoulé de voir un code comme le tien, déjà parce que pompé et ensuite parce que ce sont les débutants qui chechent ce genre de trucs et ils ne peuvent pas voir toutes les erreurs qu'il comporte.

Pour le tableau de fichiers à exclure: inutile et gâchis de mémoire; je n'ai mis php et html qu'en exemple pour que n'importe qui sache rajouter d'autres extensions super facilement.

Excuse-moi si je me trompe mais voilà ce qui me fera toujours penser qu'il était pompé :

Le répertoire à ne pas lister, ça ne peut faire partie que d'une fonction récursive qui tomberait sur un certain dossier sensible. Or ton code n'était pas récursif, il cible un dossier précis. Il serait un peu idiot de cibler un dossier à ne pas lister, tu ne crois pas?
Ensuite les if( machin ){ VIDE } else { machin } : là aussi c'est pour du récursif, mais il semble que les fonctions récursives ont été effacées en laissant des conditions... vides de sens justement.
"Tu" avais mis $page = explode("/", $file);
Là encore c'est carrément inutile dans ton code et dans "ma" fonction, ce n'est utile que pour... du récursif.

Bref, toutes les apparences du monde laissent penser que...

Pour finir : j'innove quand il faut. J'améliore quand c'est nécessaire. Et je fais des sources de débutant pour les débutants quand il le faut aussi. Enfin ne t'inquiète pas, ça ne m'a pas pris plus de 20 mn pour réécrire ta source (sous forme de fonction d'ailleurs c'est plus pratique)

Commentaire de mtrzen le 02/09/2005 17:55:27

ptdr


bon, good dream :) geek!

Commentaire de Evangun le 02/09/2005 19:09:52

waaaaaa tu parles anglais...
"bye"

Commentaire de dream303 le 03/09/2005 12:52:35

Merci quand même MTRZEN ...
^^

Commentaire de kanuxxx le 03/09/2005 19:26:32

Sinon la FAQ de Developpez.com dit déjà comment faire pour lister un répertoire, alors je vois pas bien l'utilité du truc... Faire des liens a partir du nom d'un fichier c'est pas forcément super hard quoi.

Commentaire de coucou747 le 03/09/2005 20:32:39 administrateur CS

while($file = readdir($dir)){

et si un fichier a pour nom :
'none', 'false', 'null', '0', alors ça ne marche pas...

version corecte :
while(false!==($file = readdir($dir)))

Commentaire de mtrzen le 04/09/2005 21:53:38

Tres bon commentaire Coucou747
ce bug avait été mis en évidence jadis par malam,
et je l avais corrigé dans ma dernière version publiée..

MOdestie Evangun .?.

Commentaire de coucou747 le 04/09/2005 21:58:39 administrateur CS

c'était grenard qui nous avait apporté la solution...

Commentaire de malalam le 05/09/2005 08:57:12 administrateur CS

Non non, c'était bien moi, 1er commentaire de ce source.

Commentaire de malalam le 05/09/2005 08:59:44 administrateur CS

Je trouve aussi ça assez compliqué comme source, simplement pour liste un répertoire et pour créer des liens sur les fichiers qu'il contient. ceci dit, pourquoi pas. Mais pourquoi ne pas l'avoir fait récursive, cette fonction justement ? Quitte à laisser le choix avec un second paramètre à true ou false.

Commentaire de Evangun le 05/09/2005 14:52:01

Je suis d'accord, l'intérêt de cette source est limité.
Je n'avais pas lu les coms sur la source originale, donc a fortiori de Malalam ou Coucou, mea culpa. Merci, pour l'histoire fes false je ne savais pas, comme quoi j'en apprends vraiment tous les jours sur ce site, j'adore! :) :)

je ne sais pas si je prendrai le temps de la faire récursive cette fonction, en fait j'en utilise déjà d'autres qui font la même chose... et puis de tte façon je suis en vacances alors pas acces à un pc (sauf cybercafé)

Commentaire de Asone le 24/09/2005 13:01:15

Il y a un probleme,

Les liens sont morts dès qu'un fichiers ont un espace.

Commentaire de promise le 26/09/2005 18:05:40

Je suis à la recherche de ce code depuis donc je me presse de le tester

Commentaire de malalam le 27/09/2005 08:32:18 administrateur CS

Asone => ajoute un urlencode () quand tu mets les fichiers dans le tableau, et un urldecode () quand tu les affiches, ça devrait régler ton problème.

Commentaire de _klesk le 18/11/2005 23:40:02

Voila, j'ai n'ai pas cru voir cette quesion dans les commentaire alors ja la pose.
Ne connaisant que tres peut le php, je n'arrive pas a resoudre le probleme suivant :
Lorse qu'un dossier est lister il apparait avec un / hors lorsque qu'on click pour rentrer dans ce dossier forcement le lien est mort car il y a deux slash ("//") dans l'url, je n'ai pas encore trouver la solution c'est pourquoi je me permet de demander votre aide.

Aussi pour dire que ce script a son utilitée, en tout cas moi je trouve ca utile.
D'avance merci

Commentaire de Evangun le 28/02/2006 15:06:19

J'ai réglé les 2-3 bugs dont vous parlez.

Commentaire de Evangun le 28/02/2006 15:19:51

On m'a demandé comment faire lorsque l'on veut que les liens s'ouvrent dans un pop-up :
à la fin, il suffit de remplacer


<a href="javascript:void(0)" onclick="window.open('coms.php?annee=2004&voie=e&n=ameline louis&pic=1',null,'width=345,height=500, status=yes, directories=no, toolbar=no, location=no, menubar=no, scrollbars=yes, resizable=yes');">'.$value.'</a><br />

par

<a href="javascript:void(0)" onclick="window.open(\''.rawurlencode($repertoire).'/'.rawurlencode(str_replace ('/', '', $value)).'\',null,\'width=345,height=500, status=yes, directories=no, toolbar=no, location=no, menubar=no, scrollbars=yes, resizable=yes\');">'.$value.'</a><br />


en changeant les paramètres du popup si vous voulez bien sûr.

Commentaire de Evangun le 28/02/2006 15:23:01

oups, je suis allé un peu vite, vous aurez compris que ce qu'il faut remplacer c'est :

<a href="'.rawurlencode($repertoire).'/'.rawurlencode(str_replace ('/', '', $value)).'">'.$value.'</a><br />

Commentaire de THEREALKILLER le 27/03/2006 05:12:19

Bonjour à tous. J'ai repris le code et modifié un peu. J'ai pensé qu'en faire part aux autres allé de soit.
Recursive. Exclu le fichier db en plus d'html et php. Sépare les dossier et fichiers. Pour les fichiers j'en fai des liens. Dans chaque dossier possibilité de mettre une foto qui resume ce qui se trouve dans le dossier. Bien sympa pour des petits sites entre amis.
@ +


<?php


function listing($repertoire){
  
      $fichier = array();
   $cpt =0;
$etat = 0 ;
$test="";
if (is_dir($repertoire))
  {
  
$dir = opendir($repertoire); //ouvre le repertoire courant d&eacute;sign&eacute; par la variable
          while(false!==($file = readdir($dir)))
  { //on lit tout et on r&eacute;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; }
  $etat = 1;
  }
  else {
  if(!is_file($file)) { $file = '/'.$file; } //on rajoute un "/" devant les dossier pour qu'ils soient tri&eacute;s au d&eacute;but
  $ext_fichier = '';
  $etat = 0;
  }
  
  if($ext_fichier != 'php' and $ext_fichier != 'html' and $ext_fichier != 'db' )
  { //utile pour exclure certains types de fichiers &agrave; ne pas lister
  array_push($fichier, $file);
  }

              }
  
          }
      }
  
      natcasesort($fichier); //la fonction natcasesort( ) est la fonction de tri standard sauf qu'elle ignore la casse
  
      foreach($fichier as $value) {
$tmprep = strtr($repertoire, "G:\'", "om/");

  
if($etat == 0){

  echo("<table width=1200 border=1><tr><td><div align=left>$value</div></td></tr></table>");

  
   }else{

     $test = strstr($value, ".");

if($test ==  ".jpg"){


echo ("<img src='ftp://web:web@adresse.c$tmprep.$value' width='150' height='80' align='center'/>");
echo "<br>";

}

if($test != ".jpg")
echo '<a href="ftp://web:web@adresse.c'.$tmprep.'/'.rawurlencode(str_replace ('/', '', $value)).'">'.$value.'</a> *** ';
  }
//echo "<br>";
listing($repertoire.$value);

      }
  
  }

listing('G:\XxX'); // le path a lister
?>

Commentaire de trpp111 le 22/01/2007 16:48:42

J'aurais une question :
quelle est la syntaxe du chemin pour accéder à un répertoire distant sur une machine du réseau local (pas par FTP, il s'agit d'une machine bureautique standard sur un domaine)?

Commentaire de coucou747 le 22/01/2007 18:18:18 administrateur CS

ça dépend : sous windows, pour les partages réseaux (ou les partages linux samba) :

smb://user:password@machine/directory

sur un linux en sftp

sftp://user:password@machine/directory

Commentaire de Croquette007 le 09/03/2007 05:06:40

Bonjour,

Cette source m'intéresse beaucoup, et j'aimerais pouvoir lister le contenu du dossier par date de dernière modification plutôt que par ordre alphabétique, savez-vous comment procéder ?

Merci par avance de votre aide.

Commentaire de Croquette007 le 09/03/2007 05:10:10

Euh excusez-moi j'ai oublié également de vous demander ma deuxième question !
Exist-il un moyen de n'afficher que les X premiers fichiers du répertoire ? donc les X plus récement modifiés (vous me suivez ?)

donc,

1 - les classer par ordre de dernière modification
2 - n'afficher que les X premiers fichier, par exemple les 7 premiers.

ainsi le résultat serait d'afficher les 7 fichiers les plus récement modifiés !

Merci beaucoup beaucoup de votre aide !

Commentaire de Evangun le 09/03/2007 10:02:15

Là par exemple ça n'afficher que 10 fichiers :

$i = 0;
foreach($fichier as $value) {
   if($i == 10){break;}
   echo '<a href="'.rawurlencode($repertoire).'/'.rawurlencode(str_replace ('/', '', $value)).'">'.$value.'</a><br />';
   $i++;
}

Pour ton autre question, va sur le forum car elle n'a pas de rapport direct à cette source. à+

Commentaire de Croquette007 le 09/03/2007 11:07:33

Ok merci beaucoup beaucoup !

Commentaire de carate le 07/05/2007 19:48:54

trop pussant ton script arrache
il est SUPER top FUN

      Merci

Commentaire de squallblanc le 08/07/2007 16:48:27

Bonjours a tous et merci pour ce code je souhaiterai savoir si quelqu'un pouvai me dire comment faire pour que les fichier sois listés dans un tableau est comment je peu faire pour mettre un petit icone avant le nom de chaque fichier.
Merci

Commentaire de hyperion66 le 28/09/2007 19:58:32

Même remarque que Squallblanc.
Très bon script, mais j'aimerai pouvoir lister ces fichiers dans un tableau avec si possible dans un seconde colonne, la date du fichier.

Commentaire de coucou747 le 28/09/2007 20:42:02 administrateur CS 1/10

serieux, il sert a rien ce code, matez la doc de opendir, c'est carement plus instructif...

Commentaire de narcinoutte le 15/11/2007 12:54:55

voila un code impéc !
mais j'ai une question bete a posé ce code je l'ai mi dans un tableau tandis que j'ai trois tableaux dans ma page dans j'avais besoin daplé trois dossier differant pour telecharger leur contenu

Ma question est,
possible que j'utilise le meme code 3 fois dans la meme page en changant que les variable ?

entre temps en attendant une reponse je vais la tester ;)

Commentaire de narcinoutte le 15/11/2007 12:59:44

la reponse a ma question est bien evidament comme je pensé , elle est possible mais pas oci bonne c comme du bricolage :D mais bon peu a peu en apprendent


commencant par les erreurs puis les corrigé avec le temps et l'experience !

Commentaire de hyperion66 le 16/12/2007 11:07:00

Merci pour ce script grâce auquel j'ai pu créer l'espace perso de mes clients.
Voilà un exemple de ce que ça donne : http://www.zerobug.fr/liste-contenu-dossier-liens-telechargement-php.php3

Commentaire de djheart le 16/12/2007 14:12:05

Salut Hyperion
peux tu mettre a disposition ton code source ! par forcement ta version tout joli mais au moins le code php.
Merci d'avance

Commentaire de hyperion66 le 16/12/2007 14:40:19

Le code source est dispo maintenant sur la même page dans la liste de fichiers générée. C'est le fichier code-source-php.txt

Commentaire de djheart le 16/12/2007 19:21:49

Merci Hyperion !
Je le regarde des que j'ai le temps
je te contacterais si y a des bugs ou si je ne comprends pas certaines choses !

Commentaire de Steves le 22/12/2007 00:55:02

Jolie source. Merci encore

Commentaire de djheart le 25/12/2007 12:23:26

Salut
Par contre le foreach ou array_search ne fonctionne pas !

Pour le foreach bah un bon vieux for fera l'affaire

pour l'array_search j'ai fais une petite fonction.


/**
*$var => la valeur recherchée
*$myarray => le tableau
*/
function Myarray_search($var,$myarray){
   $size = count($myarray);
   for($i=0;$i<$size;$i++){
      if (strtoupper($myarray[$i]) == strtoupper($var))
         return true;
   }
   return false;
}

Commentaire de djheart le 25/12/2007 12:29:02

....Enfin quand je disais que ca ne fonctionne pas je voulais dire sur Free par exemple !
Faudra quand que je reteste avec un code minimal !

Commentaire de mymydu42 le 04/06/2008 15:01:19

Il y'a beaucoup plus rapide :
<?php
$mydir = './le repertoire ou tu veux chercher';
if ($dir = @opendir($mydir))
{
    while (($file = readdir($dir)) !== false)
    {
      if($file != ".." && $file != ".")
       {
         $filelist[] = $file;
       }
    }
closedir($dir);
}
?>

Commentaire de coucou747 le 04/06/2008 16:14:24 administrateur CS

mymydu42, tu as oubli? tout en haut :     $filelist=array();

sinon glob, ou scandir sont encore plus courts.

Commentaire de Evangun le 04/06/2008 23:08:12

Holàlà mais elle date de Mathusalem cette source, ya encore de gens qui la lisent ? lol

C'est sûr qu'il y a moyen de l'améliorer un peu. Mais Mymudu42, tu zappes tout ce qui est distinction répertoire/fichier et tri en natcase, alors forcément c'est plus court...
A l'occasion si j'ai du temps à perdre je réécrirai tout ça avec scandir (pour php5 cette fois) comme le suggère Coucou et les fonctions qui vont bien genre fileinfo, pour mettre ça au propre.

Commentaire de coucou747 le 04/06/2008 23:25:40 administrateur CS

evangun, si tu veux du php5, renseigne toi sur la SPL, ou attend en gros deux semaines, je sort un recode de la SPL :)

avec des it?rateurs, et plein de manipulateurs d'it?rateurs :)

Commentaire de Evangun le 05/06/2008 12:30:49

J'attends de voir ça :)

Commentaire de vegetalain le 30/07/2009 11:09:30

Je suis chez free au niveau e mon site, et ton code MERVEILLEUX fonctionne très bien :
http://vegetalain.free.fr/mesmails/test.php

Cela dit, et étant une bille "carrée" en prog', pourrais-tu mde dire comment faire pour que l'on indique un dossier spécifique pour les fichiers listés, genre les fichiers de sont pas dans le répertoire courant, mais dans le dossier "mesmessages"

et aussi comment faire pour que les fichiers (kan on click dessus) n'appraissent pas dans une nouvelle fenêtre mais dans la case d'un tableau, genre un tabelau à 2 colonnes, les ficheirs sont listés à gauche, et leur cotnenu, dans la colonne de droite...

Te remerciant de tes conseils, je te remercie encore pour cette super source, qui est vraiment géniale (euh... c la seule du genre que j'ai trouvé et surtout qui marche bien 8D)

alain

Commentaire de Evangun le 30/07/2009 18:41:08

Hello,

pour lister un dossier en particulier, tu fais par exemple :

listing('./mesmessages');

pour ton lien dans une fenêtre à droite, le plus simple est que tu apprennes à te servir des iframes et que tu en utilises une. Tu verras ce n'est pas très compliqué.

Bonne chance :)

Commentaire de vegetalain le 30/07/2009 19:17:12

Merci beaucoup, je vais zieuter ça !!!!! :)

Commentaire de djimson le 12/07/2010 02:37:11

Merci pour ce script. Mais j'ai deux petits soucis :
01 -Je veux changer le chemin de mon dossier comme : listing('./cours'); de tels sorte qu'il ne se trouve pas au même endroit que le script . Tout marche correctement sauf au moment du téléchargement. Il ne retrouve plus le fichier en question.
02 - Comment faire pour forcer le téléchargement des fichiers jpg et pdf?
Merci.
Note 10/10

Commentaire de Evangun le 12/07/2010 12:21:33

Je t'en prie, ce script n'est plus vraiment au goût du jour mais tant mieux s'il peut te servir :)

Pour ton premier problème, je vais te donner une solution rapide mais "sale" (je n'ai pas le temps de réécrire le script comme il faudrait, dis-toi bien qu'il y a de meilleures façons de le faire) : si tu n'as pas de caractère spécial ou accentué dans le nom de ton répertoire (./cours convient par exemple), tu n'as qu'à enlever la fonction rawurlencode() autour de $repertoire dans la ligne suivante :

echo '<a href="'.rawurlencode($repertoire).'/'.rawurlencode(str_replace ('/', '', $value)).'">'.$value.'</a><br />';

Pour ce qui est de faire télécharger les fichier pdf, il faudrait modifier la façon dont le lien est construit pour rediriger vers une page de type download.php?fichier=monfichier.pdf qui te ferait télécharger le truc (cf les fonctions header(force download) et readfile(). Mais attention aux failles de sécurité...

++

Commentaire de djimson le 12/07/2010 15:24:21

Ok, merci, je vais essayé.
J'ai rencontré certe quelques difficulté avec le script surtout pour le chargement des fichiers docx et xlsx, je sais pas s'il ya une solution. Ces fichier s'ouvrent avec des caractères illisibles.
Merci de l'aide, j'en ai vraiment besoin.

Commentaire de Evangun le 12/07/2010 16:05:19

C'est normal que les fichiers s'ouvrent avec word/excel si tu ne mets pas de header dans ta page pour forcer le téléchargement. Mais pour ça et la question des accents, ça se passe sur le forum car ça n'a pas de rapport avec cette source :)

Commentaire de djimson le 12/07/2010 16:13:26

Ok, pouvez-vs me dire ou mettre le header? Faut t-il en mettre autant pr chaque type de fichier? Suis pas trop dedans. Voici ce que je veux faire : http://aii100.isigburkina.org/cours/

Commentaire de Evangun le 12/07/2010 16:39:16

Encore une fois, c'est une question à poser sur le forum.

Commentaire de Leboubou111 le 12/11/2010 04:48:27

Salut Evangun

Y a-t-il une solution pour avoir un affichage un peu plus "moderne" ?
Avec la possibilité de faire un retour en arrière (dossier parent) ?

Commentaire de Evangun le 12/11/2010 10:49:25

Salut Leboubou, il est possible de faire n'importe quoi mais je ne travaille plus sur cette source. Ce ne serait pas difficile en tout cas, essaie :)

Commentaire de Leboubou111 le 12/11/2010 14:32:25

Merci de ta réponse ;-)

Effectivement, je suis tombé sur www.jbc-explorer.info qui est vraiment top !!

J'ai cependant un petit bug mais je vais poster sur leur forum
Merci à toi

Commentaire de fatmouloud le 03/12/2010 16:43:26

Bonjour, ce script marche très bien avec Internet Explorer, par contre une fois le listing affiché, Firefox lui n'ouvre pas les liens quand on clic sur un répertoire. Avez-vous une réponse à m'apporter ?    :) D'avance merci

Commentaire de Leboubou111 le 03/12/2010 16:53:21

Je suis tombé sur ajaxplorer... Il est au top :) Par contre, un peu galère à paraméter et bcp de lenteurs mais l'interface est genial

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

LISTER LES FICHIERS D'UN DOSSIER ET EN FAIRE DES LIENS [ par djimson ] bonsoir, j'ai pris un script pour lister les fichiers d'un dossiers et en faire des liens mais j'ai quelques petits soucis : 01 - Comment faire pour Lister tous les fichiers d'un dossier donné [ par lnp ] Comment faire pour lister tous les fichiers d'un dossier donn&#233; En vue de supprimer les fichiers qui ne sont plus n&#233;cessaire au fonctionneme Lecture d'un nom de fichier...2 [ par magicsmacks ] Bonjour, J'avais demandais il y a qq jours ceci : " Bonjour, Je poss&#232;de un dossier sur mon serveur dans lequel impression de fichiers [ par putch ] bonjour &#224; tous !voila mon soucij'ai un repertoire pdf/ lequel se trouve un certains nombre de fichiers pdf :)je souhaiterai un lien/bouton pour l Problème pour de liens hypertext sur les fichier .lnk [ par kt1 ] Voila je vous explique mon souci.Je dois cr&#233;er un site intranet pour ma bo&#238;te. On va y mettre tout ce qui concerne le Service Qualit&#233;. Lister les fichiers d u ndossier [ par Ze_doctor ] Salut tout le monde, J ai regard&#233; apres une source en php pour ca mais aucune ne fonctionne chez moi :/ j ai reussi en rassembalnt quelques bou comparer [ par jnbdzjnbdz ] Bonjour, je me demandais comment comparer le nom de fichiers image (jpg|jpeg|gif|png) avec le nom de d'autres fichiers image dans un autre dossier app Gestion de fichiers [ par shadow1779 ] Bonjour,j'aimerai apprendre le plus possible sur la gestion de fichiers en php, c'est a dire:-suppression d'un fichier-création/suppression d'un dossi Tout le monde peut accéder à mes fichiers, comment bloquer cela? [ par hasen ] Bonjour, bonjour. Je ne suis pas sur que cette question soit completement en rapport avec PHP, mais il me faut a tout rpix une reponse et je ne savais gestion des fichiers php [ par lucky_girl3 ] bonjour tout le monde!! j'ai un s&#233;rieux pb depui qlq jours&nbsp;&nbsp; ; please help viiiiiiiite!!!!!!!! mon probl&#232;me: je veux parcourir un


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,683 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales