Bonjour,

Je suis actuellement entrain de réaliser un plugin jQuery pour lister un dossier et pouvoir uploader des dossier et fichier.
Jusque la tous fonctionne mais je me pose une question car l'arborescence d'un dossier est générer en PHP avec du code Html dedans

le code php :

public function treeDir($Directory, $recursive = false, $prarentDir = false)
                    {
            $dir = opendir($Directory) or die('Erreur');
            while($file = @readdir($dir)){
                if(is_dir($Directory.'/'.$file) && $file != '.' && $file != '..')
                                {
                    echo '<li id="'.$file.'"><a href="'.$file.'">'.$file.'</a><ul>';
                        if ($recursive == true) {
                            $this->treeDir($Directory.'/'.$file,$recursive,$prarentDir);
                        }
                                        echo '</li>';
                }else
                                {
                    if ($file != '.' && $prarentDir == true)
                                    {
                    echo '<li id="'.$file.'"><a href="'.$file.'">'.$file.'</a></li>';
                    }
                                    else if ($file != '.' && $file != '..' && $prarentDir == false) 
                                    {
                    echo '<li id="'.$file.'"><a href="'.$file.'">'.$file.'</a></li>';
                    }
                        }
            }
          closedir($dir);
        }

Ma question est : est-ce qu'il est préférable d'enlever le html du php pour ensuite le généré en jquery ou nn?Ou y'aurait-il une meilleur solution a votre avis?

Je sais pas si ma question est claire mais c pour que le plugin soit le plus maintenable possible avec le temp.

Une autre question serai au niveau de l'arborescence car j'utilise des ul et li donc a votre avis serait il préférable d'utiliser des div que des liste?

Je vous remercie d'avance :)

2 réponses


flotaponta
Réponse acceptée

Salut,

je ne me suis pas encore trop familiarisé avec Jquery et de comment transmettre un tableau (je crois avec json_encode($array) mais il y a surement d'autres méthodes par POST) mais dans tout les cas tu peux améliorer ta partie PHP en utilisant PHP GLOB. Cela t'évite de trier les "." et ".." et tu n'a pas besoin d'ouvrir ou fermer quoi que se soit pour avoir un tableau bien rangé et même filtré par chemin et ou extensions.

Pour ta question principale, perso, je simplifierais en envoyant un tableau déjà structuré par les balises, surtout si tu souhaite afficher les dossiers parent ou enfant dans ton traitement Jquery. Et je trouve "ul" et "li" bien plus adapté que des "div", au moins du point de vue sémantique. Détecter l'imbrication des listes dans d'autres devrais pouvoir se faire en CSS ... ou avec ton script Jquery ?

bonne chance

ksta
Auteur

Salut

J'en profite pour souhaiter une bonne et heureuse année a tous :D

Merci pour ton aide ;) j'ai pris compte de tes conseils et j'ai donc modifier ma fonction pour quelle retourne un tableau que je traite ensuite en jQuery :)

Merci encore bonne continuation :)