Non il faut mettre tes données lu de ton FTP dans un tableau :
regarde cet exemple :
<? $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.$f . '">' .$f . '</a><br>';
echo " Taille : ".filesize($rep.$f)." octets <br>";
echo " Création : ".dd(filectime($rep.$f))."<br>";
echo "</li>";
}
?>
</ol>
</div>
et tu fais la même chose pour les deux autres colonnes (faut bien que tu travaille un peu

)
avec
for ($i = $nombre_par_colonne*2; $i < $nombre_par_colonne*3 ; $i++)
et
for ($i = $nombre_par_colonne*3; $i < count($tab_temp) ; $i++)
Enfin n'oublie pas le CCS clear pour revenir à l'affichage classique (tu es en mode float)
il y aura quelque bug d'affichage à mon avis mais essaye déjà cela