Bonjour, j'ai créé cette fonction PHP pour lister le contenu d'un serveur ftp en séparant les dossiers et les fichiers puis en affichant leur taille grâce à une seconde fonction. L'affichage fonctionne bien et la récursivité également mon problème est d'ordre graphique j'aimerais afficher les dossiers dans une div sur la gauche et les fichiers sur la droite mais je n'ai pas trouvé de solution en css car une div peut aussi bien contenir des dossiers que des fichiers.

Contrainte : pas d'Ajax pour remplacer les fonctions ftp php.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 
function getdir($con, $dir=".", $indent=1) {
    if(isset($con) && ftp_nlist($con, $dir)) {
        $content = ftp_nlist($con, $dir);
        foreach($content as $val) {  //parcours le répertoire
                $valDiv = str_replace("./", "", $val);
                $separ = explode("/", $valDiv);
                $taille = count($separ) - 1;
                $valDiv = $separ[$taille];
 
                $indent = 4*$taille;
                $ecartFirst = "";
                $ecartSecond = "&nbsp";
                for($i=0;$i<$indent;$i++){
                    $ecartFirst .= "&nbsp";
                    $ecartSecond .= "&nbsp";
                }
                if(ftp_size($con, $val) == -1)
                {
                    echo "<div id='$valDiv' class='left'>";
                        echo "<a href='javascript:void();'    onclick='afficher(\"sous_$valDiv\")'>"
                            .$ecartFirst."<img src='images/dir.png' width='20' height='20'/>".$valDiv.
                            "</a><br />".tailleDossier($con, $val)." octets.<br />";
                        echo "<div id='sous_$valDiv' style='display:none;'  class='sous-left'>";
                        $indent++;
                       	getdir($con, $val, $indent);
 
                        echo "</div>";
                    echo "</div>";
                }
                else {
                    echo "<div  class='right'>
                        <a href='telecharger.php?fichier=".$valDiv."&dossier=".$val."&action=down'>T&eacute;l&eacute;charger
                        <img src='images/file.png' width='20' height='20'>";
 
                        echo $ecartFirst.$valDiv." - ".ftp_size($con, $val)." octets.</a><br />";    
                    echo "</div>";
                }
        }
    }
}