par
Aureusms » 19 mars 2009, 22:39
Ok j'ai vu une erreur. Dans les boucles for il ne faut plus utiliser $f car il est enregistré dans le tableau $tab_temp. Aussi, voici le code modifié :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Serveur mp3 www.doof-x.com</title>
</head>
<body>
<? $rep = "uploads/";
$dir = opendir($rep);
function dd($date) {
return date("d/m/Y H:i:s",$date);
}
//je créé un tableau temporaire
$tab_temp = array();
//je scan le dossier puis je stocke les nom dans le tableau
while ($f = readdir($dir)) {
if(is_file($rep.$f))array_push($tab_temp,$f);
}
//je trie le tableau par ordre alphabétique en mode humain
natsort($tab_temp);
//j'affiche le tableau en trois colonnes pour cela :
//je calcule le nombre totale de données
$nombre_totale= count ($tab_temp);
//je divise par trois pour connaitre le nombre par colonne
$nombre_par_colonne = $nombre_totale/3;
//j'arrondi à l'entier inférieur
$nombre_par_colonne = floor($nombre_par_colonne);
//je fais l'affichage des trois colonnes en mode div + li en mode float
//première colonne
?>
<div id ="colonne_1" style="float:left;">
<ol>
<?php
for ($i = 0; $i < $nombre_par_colonne ; $i++)
{
echo '<li style="margin-bottom :2 em;">Nom : <a href="'.$rep.$tab_temp[$i] . '">' .$tab_temp[$i] . '</a><br>';
echo " Taille : ".filesize($rep.$tab_temp[$i])." octets <br>";
echo " Création : ".dd(filectime($rep.$tab_temp[$i]))."<br>";
echo "</li>";
}
?>
</ol>
</div>
<div id ="colonne_2" style="float:left;">
<ol>
<?php
for ($i = $nombre_par_colonne*2; $i < $nombre_par_colonne*3 ; $i++)
{
echo '<li style="margin-bottom :2 em;">Nom : <a href="'.$rep.$tab_temp[$i] . '">' .$tab_temp[$i] . '</a><br>';
echo " Taille : ".filesize($rep.$tab_temp[$i])." octets <br>";
echo " Création : ".dd(filectime($rep.$tab_temp[$i]))."<br>";
echo "</li>";
}
?>
</ol>
</div>
<div id ="colonne_3" style="float:left;">
<ol>
<?php
for ($i = $nombre_par_colonne*3; $i < count($tab_temp) ; $i++) {
echo '<li style="margin-bottom :2 em;">Nom : <a href="'.$rep.$tab_temp[$i] . '">' .$tab_temp[$i] . '</a><br>';
echo " Taille : ".filesize($rep.$tab_temp[$i])." octets <br>";
echo " Création : ".dd(filectime($rep.$tab_temp[$i]))."<br>";
echo "</li>";
}
?>
</ol>
</div>
<div class="clear">
</div>
<STYLE type="text/css">
.clear
{clear:both;
display:block;
}
</STYLE>
</body>
</html>
J'espère que cela va marcher.
Ok j'ai vu une erreur. Dans les boucles for il ne faut plus utiliser $f car il est enregistré dans le tableau $tab_temp. Aussi, voici le code modifié :
[php]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Serveur mp3 www.doof-x.com</title>
</head>
<body>
<? $rep = "uploads/";
$dir = opendir($rep);
function dd($date) {
return date("d/m/Y H:i:s",$date);
}
//je créé un tableau temporaire
$tab_temp = array();
//je scan le dossier puis je stocke les nom dans le tableau
while ($f = readdir($dir)) {
if(is_file($rep.$f))array_push($tab_temp,$f);
}
//je trie le tableau par ordre alphabétique en mode humain
natsort($tab_temp);
//j'affiche le tableau en trois colonnes pour cela :
//je calcule le nombre totale de données
$nombre_totale= count ($tab_temp);
//je divise par trois pour connaitre le nombre par colonne
$nombre_par_colonne = $nombre_totale/3;
//j'arrondi à l'entier inférieur
$nombre_par_colonne = floor($nombre_par_colonne);
//je fais l'affichage des trois colonnes en mode div + li en mode float
//première colonne
?>
<div id ="colonne_1" style="float:left;">
<ol>
<?php
for ($i = 0; $i < $nombre_par_colonne ; $i++)
{
echo '<li style="margin-bottom :2 em;">Nom : <a href="'.$rep.$tab_temp[$i] . '">' .$tab_temp[$i] . '</a><br>';
echo " Taille : ".filesize($rep.$tab_temp[$i])." octets <br>";
echo " Création : ".dd(filectime($rep.$tab_temp[$i]))."<br>";
echo "</li>";
}
?>
</ol>
</div>
<div id ="colonne_2" style="float:left;">
<ol>
<?php
for ($i = $nombre_par_colonne*2; $i < $nombre_par_colonne*3 ; $i++)
{
echo '<li style="margin-bottom :2 em;">Nom : <a href="'.$rep.$tab_temp[$i] . '">' .$tab_temp[$i] . '</a><br>';
echo " Taille : ".filesize($rep.$tab_temp[$i])." octets <br>";
echo " Création : ".dd(filectime($rep.$tab_temp[$i]))."<br>";
echo "</li>";
}
?>
</ol>
</div>
<div id ="colonne_3" style="float:left;">
<ol>
<?php
for ($i = $nombre_par_colonne*3; $i < count($tab_temp) ; $i++) {
echo '<li style="margin-bottom :2 em;">Nom : <a href="'.$rep.$tab_temp[$i] . '">' .$tab_temp[$i] . '</a><br>';
echo " Taille : ".filesize($rep.$tab_temp[$i])." octets <br>";
echo " Création : ".dd(filectime($rep.$tab_temp[$i]))."<br>";
echo "</li>";
}
?>
</ol>
</div>
<div class="clear">
</div>
<STYLE type="text/css">
.clear
{clear:both;
display:block;
}
</STYLE>
</body>
</html>[/php]
J'espère que cela va marcher.