Créer une arborescence

Par Helongh, il y a 12 ans


Bonjour, j'aimerais pouvoir récupérer les dossiers et fichiers appartenant eux même à un dossier dans CakePHP, et pouvoir naviguer à l'intérieur de ceux-ci, en ajouter/modifier/supprimer.

J'ai essayer d'utiliser la fonction $files = $dir->tree() pour afficher une arboresence de mon dossier mais ça m'affiche un truc du style :

array(
    (int) 0 => array(
        (int) 0 => '*\app\webroot\files\Dossier parent',
        (int) 1 => '*\app\webroot\files\Dossier parent\dossier\dossier',
        (int) 2 => '*\app\webroot\files\Dossier parent\Dossier\dossier\Dossier'
    ),
    (int) 1 => array(
        (int) 0 => '*\app\webroot\files\Dossier parent\dossier\dossier\test.txt',
        (int) 1 => '*\app\webroot\files\Dossier parent\dossier\test.txt'
    )
)

Je récupère donc bien mon arborescence mais je ne vois pas comment exploiter celle ci afin de pouvoir faire les manipulations que j'ai cité au dessus. Suis-je sur la bonne voie ou complètement à coté de la plaque ?

Merci d'avance de vos réponses.

9 réponses

SwithFr, il y a 12 ans

Bonsoir

je souhaiterai faire exactement la même chose ! Si tu as trouvé une solution pourrais tu las partager ?

Merci

Lartak, il y a 12 ans

Bonsoir.
As-tu regardé ici ?
Sinon après il te faut faire aussi avec des fonctions PHP, il ne faut pas se contenter uniquement des API, Helpers et composants de CakePHP.

Helongh, il y a 12 ans

Bonjour, oui j'avais bien lu la doc, le truc est que je n'avais pas le temps de faire un truc maison parfaitement fonctionnel.

J'ai finalement trouvé ceci : Document Manager
C'est un plugin pour Cake, qui, avec un peu de configuration et d'adaptation fonctionne à merveille.

Cordialement

Lartak, il y a 12 ans

Il me semble qu'il te permet d'ajouter et de supprimer des fichiers/dossiers, mais pas d'éditer le contenu des fichiers.

Helongh, il y a 12 ans

Non en effet, mais c'était une option très secondaire, d'autant plus qu'il y aura une foultitude de type de documents qui ne seront pas éditable, et c'était le seul qui fonctionnait à peu près correctement jusque maintenant. Le problème reste maintenant la gestion des droits, étant donné que de base celui-ci est configuré avec Authake, sauf que j'ai déjà mon système d'identification et que je souhaite le garder, je dois donc trifouiller dans le code, vu que la "doc" explique seulement quelles fonctions changer et pas comment.

Lartak, il y a 12 ans

Bonsoir.
Sinon tu peux utiliser le plugin FileManager du CMS Croogo qui utilise CakePHP.

Helongh, il y a 12 ans

Bonjour,

En effet j'avais déjà vu ce plugin mais j'ai toujours eu un doute quant au fait qu'il faille également utiliser le CMS.

Lartak, il y a 12 ans

Tu n'es pas obligé d'utiliser le CMS, tu auras peut-être au pire quelques petites modifications à faire, mais à ce que je sache c'est du code général et non particulièrement spécifique au CMS.

SwithFr, il y a 12 ans

Ah cool, merci pour les infos, je testerai ça un peu plus tard voir comment ça fonctionne.