Bonjour à tous, je voudrais de l'aide. j'ai fait un petit site pour lister en arborescence mes dossiers, sous dossiers et fichiers qui se trouvent à l'intérieur. Voila je voudrais en quelque sorte que lorsque je clique sur un dossier qu'il se déroule en affichant les sous dossiers qui se trouvent à l'intérieur (ainsi de suite pour les sous-sous dossier). j'ai vu qu'il était possible de le faire en JavaScript mais je m'y connais pas du-tout. j'ai essayé de lire et d'adapter les codes que je trouve à mon code php mais je n'y arrive pas, ça ne fonctionne pas .
Marsh Posté le 18-02-2013 à 15:38:52
Bonjour à tous,
je voudrais de l'aide. j'ai fait un petit site pour lister en arborescence mes dossiers, sous dossiers et fichiers qui se trouvent à l'intérieur.
Voila je voudrais en quelque sorte que lorsque je clique sur un dossier qu'il se déroule en affichant les sous dossiers qui se trouvent à l'intérieur (ainsi de suite pour les sous-sous dossier). j'ai vu qu'il était possible de le faire en JavaScript mais je m'y connais pas du-tout. j'ai essayé de lire et d'adapter les codes que je trouve à mon code php mais je n'y arrive pas, ça ne fonctionne pas .
voici mon code php
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
</head>
<div>
<?php
$BASE = ".";
if(isset($_GET['dir']))
{
$dir = $_GET['dir'];
}
else
{
$dir = $BASE;
}
function list_dir($base, $cur, $level=0)
{
global $PHP_SELF, $BASE;
if ($dir = opendir($base))
{
while($entry = readdir($dir))
{
if($entry != 'image')
{
/* chemin relatif à la racine */
$file = $base."/".$entry;
if(is_dir($file) && !in_array($entry, array(".",".." )))
{
/* marge gauche */
for($i=1; $i<=(4*$level); $i++)
{
echo " ";
}
/* l'entrée est-elle le dossier courant */
if($file == $cur)
{
echo "<b><img src='image/dir-open.png'/> $entry</b><br />\n";
}
else
{
echo "<img src='image/dir-close.png'/> <a href=\"$PHP_SELF?dir=".rawurlencode($file)."\">$entry</a><br />\n";
}
/* l'entrée est-elle dans la branche dont le dossier courant est la feuille */
list_dir($file, $cur, $level+1);
}
}
}
closedir($dir);
}
}
function list_file($cur)
{
if ($dir = opendir($cur))
{
while($file = readdir($dir))
{
if($file != 'index2.php')
{
$myfile = $cur."/".$file;
if(is_file($myfile))
{
echo "<img src='image/file-none.gif'/> <a href='$myfile' target='blank'>$file</a><br />\n";
}
}
}
closedir($dir);
}
}
?>
</div>
<table align="left" width="100%" border="0" cellspacing="0" cellpadding="10" bordercolor="gray">
<tr align="left">
<td width="55%">
<!-- liste des répertoires et des sous-répertoires -->
<?php
/* lien sur la racine */
if(!$dir)
{echo "<img src='image/dir-open.png'/> /<br />";}
else
{
echo "<img src='image/dir-close.png'/> <a href=\"".$_SERVER['PHP_SELF']."\">/</a><br />";
}
list_dir($BASE, rawurldecode($dir), 1);
?>
</td>
<td valign="top">
<!-- liste des fichiers -->
<?php
/* répertoire initial à lister */
if(!$dir)
{
$dir = $BASE;
}
list_file(rawurldecode($dir));
?>
</td>
</tr>
</table>
<div></div>
</body>
</html>