IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

création explorateur de dossier


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 63
    Par défaut création explorateur de dossier
    Bonjour,

    je suis actuellement en train de crée un intranet pour mon entreprise et il faudrait que depuis le site il y est la possibilité de uploader des fichier (jusque la pas de problème) et donc aussi de les télécharger.

    mais il y a un problème avec l'exploration des dossier en php.

    voici mon code qui pour l'instant ne peut juste que naviguer dans les dossier.

    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
    <?php
    	session_start();
     
    	$rep2 = $_GET['rep2'];
     
    	if (!isset($_SESSION['repertoire']))
    	{
       		 $_SESSION['repertoire'] = "./bibliotheque/";
     
    	}
     
    	$_SESSION['repertoire'] = $_SESSION['repertoire'].$rep2;
        $dir = opendir($_SESSION['repertoire']);
     
        while ($file = readdir($dir)) 
    {
    	if (($file != ".") && ($file != ".."))
    	{
    		$repertoire = $_SESSION['repertoire'];
    		if (is_dir("$repertoire/$file"))
    		{
    			echo ''.$file.' est un dossier <br /> <a href="test.php?rep2='.$file.'/">lien</a><br />';
    		}
     
    		else
    		{
    			echo ''.$file.' est un fichier <br />';
    		}
    	}
     
    }
     
        closedir($dir);
    ?>
    Comme vous pouvez vous en douter le problème est que sans passer par des variable de session cela ne marche pas et que avec on ne peut pas revenir au répertoire précédant.

    J'aimerais savoir comment je peut faire pour réglé se problème?

    plus tard il y aura un bouton pour revenir au dossier précédant mais la je ne vois pas comment je peut le faire marcher.

    merci d'avance

    excuser moi si je me suis tromper de catégorie

  2. #2
    Membre émérite
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Par défaut
    Salut,

    Tu pourrais utiliser une 2eme variable de session : $_SESSION['repertoire_precedent']

    C'est tellement simple que je ne pense pas avoir compris ton problème.

    Z.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 63
    Par défaut
    Je débute en php...
    Je ne comprend pas comment en ajoutant une autre variable de type session cela peut régler se problème.

    chaque fois que la page va être actualiser cela va rajouter quelque chose a la suite de $_SESSION['repertoire'] voila le problème.

    cela dois surement être moi qui ne comprend pas

    pourriez m'expliquez un peut plus m'expliquer ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 63
    Par défaut
    J'ai pas mal réfléchie...

    La seul solution pour que cela marche que cela marche avec le bouton précédant du navigateur serait de faire passer le lien du dossier directement dans l'adresse

    exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    		if (is_dir("$repertoire/$file"))
    		{
    			echo ''.$file.' est un dossier <br /> <a href="test.php?rep2=PREMIER_REPERTOIRE&amp;rep3=SOUS_REPERTOIR&amp;rep4=SECONDE_SOUS_REPERTOIRE/">lien</a><br />';
    		}
    voila il me faudrait faire sa mais je ne voie pas comment je peut générer les lien par rapport a l'emplacement du dossier ou il se trouve.

    Il faudrait que sa l'incrémente tous seul mais je ne voie pas comment faire

  5. #5
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Bonjour,

    Fonctionnellement, je ne trouve pas que ce soit une solution géniale, mais au plan purement technique, c'est tout à fait envisageable de passer le chemin du répertoire en url.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $path = "foo/bar/fifo";
    $url  = sprintf('http://url.fixe/script.php?path=%s', url_encode($path));

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 63
    Par défaut
    Merci beaucoup j'ai réussi cela na pas était trop compliquer a faire.

    seulement maintenant je me heurte un problème plus dur...


    En gros je dois faire une menu déroulant par rapport au dossier qu'il trouve.

    l'explorateur de fichier est fini la cela est a part juste les lien du menu devront renvoyer vers l'explorateur.

    Donc je vous explique un peut le problème

    voici en HTML comment cela dois sortir :
    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
     
    <ul id="menu">
        <li><a href="#menu1">bibliotheque de fichier</a>
            <ul>
                <li><a href="#">Premier dossier</a></li>
                <li><a href="#">Second dossier</a>
                    <ul>
                        <li><a href="#">Premier sous-dossier de du second dossier</a></li>
                        <li><a href="#">Second sous-dossier de du second dossier</a></li>
                        <li><a href="#">3éme sous-dossier de du second dossier</a>
                            <ul>
                                <li><a href="#">sous dossier de 3éme sous-dossier qui lui méme et sous-dossier de dossier 2</a></li>
                                <li><a href="#">élément 2</a></li>
                                <li><a href="#">élément 3</a></li>
                            </ul>
                        </li>
                    </ul>
                </li>
                <li><a href="#">élément 1</a></li>
                <li><a href="#">élément 3</a>
                    <ul>
                        <li><a href="#">élément 1</a></li>
                        <li><a href="#">élément 2</a></li>
                        <li><a href="#">élément 3</a></li>
                    </ul>
                </li>
            </ul>
        </li>
    </ul>
    voila donc la il faudrait que cela fasse un menu déroulant qui liste tous les dossier, pas seulement les 2 premier dossier et 3 sous dossier.

    voici le 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
    <?php
        function scanDossier($rep){
     
      $MyDirectory = opendir($rep) or die('Erreur');
     
    	while($entrer = @readdir($MyDirectory)) 
    	{
    		if(is_dir($rep.'/'.$entrer)&& $entrer != "." && $entrer != "..") 
    		{
            	echo '<li><ul>'.$entrer;
    			scanDossier($rep.'/'.$entrer);
                echo '</ul></li>';
    		}
     
    		else 
    		{
     
    		}
    	}
      		closedir($MyDirectory);
    }
     
     
     
    	$rep = "../bibliotheque";
    	scanDossier($rep);
    ?>
    Je n'arrive pas malgré beaucoup d'essai(4h) et de magnéres différentes a avoir cette mise en forme avec les <li> et les <ul> cela ne s'ouvre et se ferme jamais comme il le faut.

    la j'ai vraiment besoin d'aide j'ai peur que cela soit impossible.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. création d'un dossier
    Par salseropom dans le forum C
    Réponses: 5
    Dernier message: 16/06/2006, 08h44
  2. Réponses: 21
    Dernier message: 09/04/2006, 23h13
  3. [ASP 3] Explorateur de dossier
    Par nahzhir dans le forum ASP
    Réponses: 9
    Dernier message: 06/02/2006, 11h10
  4. Menu type explorateur de dossiers/fichiers
    Par Ghusse dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/09/2005, 14h30
  5. Récuperez la date de création d'un dossier
    Par @dinsx dans le forum C++Builder
    Réponses: 4
    Dernier message: 19/07/2005, 09h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo