Explorateur tout en php (lecture de dossiers,...)

Soyez le premier à donner votre avis sur cette source.

Vue 9 607 fois - Téléchargée 1 214 fois

Description

La page lit les dossiers et affiche dossiers et fichiers qui s'y trouve, on peut trier et naviguer dans les dossiers...

Source / Exemple :


<HTML>
<HEAD>
<LINK rel=stylesheet type="text/css" href="style.css">
</HEAD>
<BODY>
<?PHP

$chemin = getcwd();
$chemin = strtr($chemin."/","\\","/");
if ($curr == "") $curr = $chemin;
echo ("<TITLE>".$curr."</TITLE>");
echo ("<H2>".$curr."</H2><B>Escpace libre:</B> ".number_format(diskfreespace($curr)/1000,3,","," ")." Ko<BR>\n");
$fds = opendir($curr);
rewinddir($fds);
$n = 0;
$d = 0;
$r = 0;
$typ = array("file" => "Fichier","dir" => "Dossier","0" => "Inconnu");
if ($tri == "n") $imgn = "<IMG SRC=ordo.gif>";
if ($tri == "t") $imgt = "<IMG SRC=ordo.gif>";
if ($tri == "s") $imgs = "<IMG SRC=ordo.gif>";
if ($tri == "d") $imgd = "<IMG SRC=ordo.gif>";
echo ("<TABLE BORDER=0 CELLSPACING=0 CELLPADING=0>\n<TR BGCOLOR=#CCCCCC><TD WIDTH=150><A HREF=\"?curr=$curr&tri=n\">Nom</A>$imgn</TD><TD ALIGN=CENTER><A HREF=\"?curr=$curr&tri=t\">Type</A>$imgt</TD><TD WIDTH=100 ALIGN=RIGHT><A HREF=\"?curr=$curr&tri=s\">Taille</A>$imgs</TD><TD WIDTH=200 ALIGN=RIGHT><A HREF=\"?curr=$curr&tri=d\">Dernière modification</A>$imgd</TD></TR>");
$vale = "";
if ($curr != "") $vale = dirname($curr)."/";
if ($vale == "./") $vale = "";
while ($ggg = readdir($fds))
{if ($ggg == "..")
  {if ($curr != "") echo ("<TR><TD COLSPAN=4><A HREF=\"index.php?curr=$vale&tri=$tri\"><IMG SRC=\"ico\\ret.gif\" BORDER=0> ..</TD>\n");
  }
  elseif (is_dir($curr.$ggg))
  {if ($ggg != ".")
      {$tabn[$d] = $ggg;
       $tabt[$d] = "dossier";
       $tabs[$d] = "";
       $tabd[$d] = filemtime($curr.$ggg);
       $d++;
       $r++;
      }
  }
  elseif (is_file($curr.$ggg))
  {$ext = substr($ggg,strrpos($ggg,".")+1,strlen($ggg)-strrpos($ggg,".")-1);
   if (! is_file("ico/$ext.gif")) $ico = "file";
   if (strtoupper($ext) == substr(strtoupper($ggg),1)) $ext = "";
   $n++;
   $tai += filesize($curr.$ggg);
   $tabn[$d] = $ggg;
   $tabt[$d] = "fichier ".strtoupper($ext);
   $tabs[$d] = filesize($curr.$ggg);
   $tabd[$d] = filemtime($curr.$ggg);
   $d++;
   }
}
if ($tri == "") $tri = "n";
if ($tri == "n")
{ @uasort($tabn,"strnatcasecmp");
  while (list($k,$v) = @each($tabn))
  {$ggg = $v;
   $ext = $tabt[$k];
   $ico = strtolower(substr($ggg,strrpos($ggg,".")+1,strlen($ggg)-strrpos($ggg,".")-1));
   if (! is_file("ico/$ico.gif")) $ico = "file";
  if (is_dir($curr.$ggg)) echo ("<TR><TD><A HREF=\"index.php?curr=$curr$ggg/&tri=$tri\"><IMG SRC=\"ico\\dir.gif\" BORDER=0> $ggg</TD><TD WIDTH=75 ALIGN=CENTER>".$typ[filetype($curr.$ggg)]."</TD><TD></TD><TD WIDTH=200 ALIGN=RIGHT>".date("d/m/Y h:i:s",filemtime($curr.$ggg))."</TD></TR>\n");
  if (is_file($curr.$ggg)) echo ("<TR><TD><A HREF=\"$curr$ggg\" TARGET=_blank><IMG SRC=\"ico\\$ico.gif\" BORDER=0> $ggg</A></TD><TD WIDTH=75 ALIGN=CENTER>".$ext."</TD><TD ALIGN=RIGHT>".number_format((filesize($curr.$ggg)/1000), 3, ","," ")." Ko</TD><TD WIDTH=200 ALIGN=RIGHT>".date("d/m/Y h:i:s",filemtime($curr.$ggg))."</TD></TR>\n");
  }
}
elseif ($tri == "t")
{ @uasort($tabt,"strnatcasecmp");
  while (list($k,$v) = @each($tabt))
  {$ggg = $tabn[$k];
   $ext = $v;
   $ico = strtolower(substr($ggg,strrpos($ggg,".")+1,strlen($ggg)-strrpos($ggg,".")-1));
   if (! is_file("ico/$ico.gif")) $ico = "file";
  if (is_dir($curr.$ggg)) echo ("<TR><TD><A HREF=\"index.php?curr=$curr$ggg/&tri=$tri\"><IMG SRC=\"ico\\dir.gif\" BORDER=0> $ggg</TD><TD WIDTH=75 ALIGN=CENTER>".$typ[filetype($curr.$ggg)]."</TD><TD></TD><TD WIDTH=200 ALIGN=RIGHT>".date("d/m/Y h:i:s",filemtime($curr.$ggg))."</TD></TR>\n");
  if (is_file($curr.$ggg)) echo ("<TR><TD><A HREF=\"$curr$ggg\" TARGET=_blank><IMG SRC=\"ico\\$ico.gif\" BORDER=0> $ggg</A></TD><TD WIDTH=75 ALIGN=CENTER>".$ext."</TD><TD ALIGN=RIGHT>".number_format((filesize($curr.$ggg)/1000), 3, ","," ")." Ko</TD><TD WIDTH=200 ALIGN=RIGHT>".date("d/m/Y h:i:s",filemtime($curr.$ggg))."</TD></TR>\n");
  }
}
elseif ($tri == "s")
{ @uasort($tabs,"strnatcasecmp");
  while (list($k,$v) = @each($tabs))
  {$ggg = $tabn[$k];
   $ext = $tabt[$k];
   $ico = strtolower(substr($ggg,strrpos($ggg,".")+1,strlen($ggg)-strrpos($ggg,".")-1));
   if (! is_file("ico/$ico.gif")) $ico = "file";
  if (is_dir($curr.$ggg)) echo ("<TR><TD><A HREF=\"index.php?curr=$curr$ggg/&tri=$tri\"><IMG SRC=\"ico\\dir.gif\" BORDER=0> $ggg</TD><TD WIDTH=75 ALIGN=CENTER>".$typ[filetype($curr.$ggg)]."</TD><TD></TD><TD WIDTH=200 ALIGN=RIGHT>".date("d/m/Y h:i:s",filemtime($curr.$ggg))."</TD></TR>\n");
  if (is_file($curr.$ggg)) echo ("<TR><TD><A HREF=\"$curr$ggg\" TARGET=_blank><IMG SRC=\"ico\\$ico.gif\" BORDER=0> $ggg</A></TD><TD WIDTH=75 ALIGN=CENTER>".$ext."</TD><TD ALIGN=RIGHT>".number_format((filesize($curr.$ggg)/1000), 3, ","," ")." Ko</TD><TD WIDTH=200 ALIGN=RIGHT>".date("d/m/Y h:i:s",filemtime($curr.$ggg))."</TD></TR>\n");
  }
}
elseif ($tri == "d")
{ @uasort($tabd,"strnatcasecmp");
  while (list($k,$v) = @each($tabd))
  {$ggg = $tabn[$k];
   $ext = $tabt[$k];
   $ico = strtolower(substr($ggg,strrpos($ggg,".")+1,strlen($ggg)-strrpos($ggg,".")-1));
   if (! is_file("ico/$ico.gif")) $ico = "file";
  if (is_dir($curr.$ggg)) echo ("<TR><TD><A HREF=\"index.php?curr=$curr$ggg/&tri=$tri\"><IMG SRC=\"ico\\dir.gif\" BORDER=0> $ggg</TD><TD WIDTH=75 ALIGN=CENTER>".$typ[filetype($curr.$ggg)]."</TD><TD></TD><TD WIDTH=200 ALIGN=RIGHT>".date("d/m/Y h:i:s",filemtime($curr.$ggg))."</TD></TR>\n");
  if (is_file($curr.$ggg)) echo ("<TR><TD><A HREF=\"$curr$ggg\" TARGET=_blank><IMG SRC=\"ico\\$ico.gif\" BORDER=0> $ggg</A></TD><TD WIDTH=75 ALIGN=CENTER>".$ext."</TD><TD ALIGN=RIGHT>".number_format((filesize($curr.$ggg)/1000), 3, ","," ")." Ko</TD><TD WIDTH=200 ALIGN=RIGHT>".date("d/m/Y h:i:s",filemtime($curr.$ggg))."</TD></TR>\n");
  }
}
$tai = ($tai/1000);
echo ("<TR BGCOLOR=#999999><TD COLSPAN=3 ALIGN=RIGHT><FONT COLOR=#DDDDDD><B>".number_format($tai, 3, ","," ")." Ko</B></FONT></TD><TD></TD></TR>");
$plu = "";
if ($n>1) $plu = "s";
$plus = "";
if ($d>1) $plus = "s";
echo ("</TABLE><BR>\n $n fichier$plu et $r dossier$plus \n");
?>
</BODY>
</HTML>

Conclusion :


Je mets le code sans le commenter car c'est pas compliqué. Ah oui, il faut normalement des images pour les icônes et une feuille de style, car le script cherche si l'êxtention a un icone dans le dossier, sinon il met celui par défaut. Le mieux c'est de prendre le zip, tout y est!

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_gilbert1995
Messages postés
3
Date d'inscription
mercredi 28 juillet 2010
Statut
Membre
Dernière intervention
28 juillet 2010
-
VERSION 1 000 000 000 de fois mieux http://www.solitude.dk/filethingie/download
theboubourse
Messages postés
41
Date d'inscription
mercredi 30 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2008
-
slt y a t-il posibilité de juste lire un fichier .doc et donc de ne pas le modifier en sauvegardan car le fichier se trouve sur le serveur
cs_thomas84
Messages postés
3
Date d'inscription
lundi 18 juillet 2005
Statut
Membre
Dernière intervention
18 juillet 2005
-
c cool ca marche!
La fentere s'ouvre avec plusieurs colonnes nom,type,taille,dernière modif, mais je peux pas naviguer et selectionner un fichier pour qu'il apparaisse dans la zone de texte de index.htm
Si j utilise la version avec index.php je tombe direct sur la fenetre et j'ai les même problème, si tu a une ptite idée c cool merci
cs_iubito
Messages postés
629
Date d'inscription
mercredi 3 juillet 2002
Statut
Membre
Dernière intervention
9 octobre 2006
-
Si ton hébergeur n'accepte pas le PHP, c'est normal.
Si tu testes en local sur ton ordi, installe EasyPHP
cs_thomas84
Messages postés
3
Date d'inscription
lundi 18 juillet 2005
Statut
Membre
Dernière intervention
18 juillet 2005
-
Bonjour,
voila j'aimerai parcourir un serveur pour choisir un fichier puis l'avoir dans mon formulaire, j'ai l'impression que c'est exactement ce que fait ce script, alors j ai telechargé le zip mais quand je clique sur un des trois boutons, la fenetre qui souvre contient du texte (le texte de browser.php)alors je sais pas si il faut modifier qqchose, si vous avez une soluce merci d'avance.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.