|
|
|
|
Bonjour.
Je vous expose mon problème :
Je souhaite afficher des extensions seulement lorsque je clique sur le lien de l'extension précis, je m'explique avec un dessin :
- [BMP] :
- [TXT] :
Je clique sur BMP ->
- [BMP] : -toto.bmp -titi.bmp
- [TXT] :
J'ai crée une variable initialisé à 0, lorsque je clique sur le lien cette dernière doit incrémenter et permettre l'affichage, et c'est ce que je veux produire mais je n'y arrive pas...
Je vous passe mon code :
$dis = 0;
$ExpExt = $Extensions;
sort($ExpExt);
echo "<table cellspacing=\"1\" cellpadding=\"4\" border=\"1\">"; // On crée un tableau en html ; par la suite on affichera les extensions.
foreach($ExpExt as $findExt)
{
$getFile = browse($dir, $findExt); // Appel de fonction browse stocké dans une variable $getFile
$countFile = count($getFile); // On compte le nombre d'éléments dans $getFile et on le stock dans une variable $countFile.
if($countFile != 0)
{
echo "<tr style=\"font-size:8pt;font-family:arial;text-align=left\">"; // Purement esthétique au niveau de la police contenu dans le tableau : à modifier selon les goûts.
echo "<th><b>Fichier(s) <a href=\"$PHP_SELF?dir=".rawurlencode($dir)."\">".strtoupper($findExt)."</a></b> (".$countFile.") :</th><td> </td>"; // Affiche une catégorie d'extension et son nombre.
foreach($getFile as $myFile)
{
if($dis != 0)
{
echo "<td>- ".$myFile."</td><td> </td>"; // Affiche l'extension de la catégorie.
}
}
echo "</tr>";
}
}
echo "</table>";
Voici le code qui manque pour faire fonctionner le programme.
function browse($dir, $pExtension)
{
$files = array();
if($handle = opendir($dir))
{
while( false !== ($file = readdir($handle)) )
{
$getExt = explode(".", $file);
$countExt = count($getExt);
$fExt = $countExt - 1;
$myExt = $getExt[$fExt];
if( ($myExt == $pExtension) && ($file != ".") && ($file != "..") )
{
$files[] = $file;
}
}
}
return $files;
closedir($handle);
}
$Extensions = array(
"exe",
"mp3",
"php",
"zip",
"doc",
"db",
"txt",
"BAT",
"SYS",
"log",
"xls",
"ppt",
"pdf",
"bmp",
"gif",
"jpg",
"png",
"php3",
"htm",
"html",
"css",
"js"
);
Aidez-moi s'il vous plaît. Merci ! |
Répondre à mam*s
|
Alors le probleme est surement dans le fait que tu ne devrais initialiser la variable dis à 0 que lorsque ta page est appelée pour la première fois : sinon ta variable est remise à 0 à chaque fois que ton code s'exécute. Au lieu de :
|
Essaie alors un truc du genre :
|
DSL un tit test
|
Je vous rappel mon code pour afficher une extension :
$ExpExt = $Extensions;
sort($ExpExt);
echo "<table cellspacing=\"1\" cellpadding=\"4\" border=\"1\">"; // On crée un tableau en html ; par la suite on affichera les extensions.
foreach($ExpExt as $findExt)
{
$getFile = browse($dir, $findExt); // Appel de fonction browse stocké dans une variable $getFile
$countFile = count($getFile); // On compte le nombre d'éléments dans $getFile et on le stock dans une variable $countFile.
if($countFile != 0)
{
if( !isset($_GET['dis']) )
{
$dis = 0;
}else
{
$dis = $_GET['dis'];
$dis++;
}
echo "<tr style=\"font-size:8pt;font-family:arial;text-align=left\">"; // Purement esthétique au niveau de la police contenu dans le tableau : à modifier selon les goûts.
echo "<th><b>Fichier(s) <a href=\"$PHP_SELF?dir=".rawurlencode($dir)."&dis\">".strtoupper($findExt)."</a></b> (".$countFile.") :</th><td> </td>"; // Affiche une catégorie d'extension et son nombre.
foreach($getFile as $myFile)
{
if($dis != 0)
{
echo "<td>- ".$myFile."</td><td> </td>"; // Affiche l'extension de la catégorie.
}
}
echo "</tr>";
}
}
echo "</table>";
Grace à mam*s quand je clique sur un lien j'incrémente $dis et ça m'affiche toutes les extensions. Comment faire pour n'afficher que sur l'extension que je souhaite visualiser en cliquant sur le lien prédéfinit ?
|