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

PHP & Base de données Discussion :

Liste php d'un repertoire sur le reseau, et lien


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Inscrit en
    Novembre 2012
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2012
    Messages : 12
    Points : 5
    Points
    5
    Par défaut Liste php d'un repertoire sur le reseau, et lien
    Bonjour,

    Je suis sur un projet d'intranet dans lequel je dois centraliser des informations disséminé un peu partout sur le réseau de ma boite.
    Je cherche a afficher sur la page la liste des dossiers d'un répertoire et leur arborescence.

    J'utilise le code suivant trouvé sur le net:

    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
    <?php
        function listing($repertoire){
        $fichier = array();
        if (is_dir($repertoire)){
        $dir = opendir($repertoire); 
        while(false!==($file = readdir($dir))){ 
        if(!in_array($file, array('.','..'))){
        $page = $file; 
        $page = explode('.', $page);
        $nb = count($page);
        $nom_fichier = $page[0];
        for ($i = 1; $i < $nb-1; $i++){
        $nom_fichier .= '.'.$page[$i];
        }
        if(isset($page[1])){
        $ext_fichier = $page[$nb-1];
        if(!is_file($file)) { $file = '/'.$file; }
        }
        else {
        if(!is_file($file)) { $file = '/'.$file; } /
        $ext_fichier = '';
        }
        if($ext_fichier != 'php' and $ext_fichier != 'html') { 
        array_push($fichier, $file);
        }
        }
        }
        }
        natcasesort($fichier); 
        foreach($fichier as $value) {
        echo '<a href="\\serveur\repertoire">'.$value.'</a><br />';
        }
        }
     
     
        listing('\\serveur\repertoire'); 
        ?>
    Mais je rencontre plusieurs problème, le code marche quand je lui donne le chemin d'un répertoire en local: listing('C:\repertoire');

    Et si je suis en local la liste s'affiche mais je ne peux ouvrir les liens affichés dans la liste.

    Si quelqu'un saurait quoi faire merci d'avance.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu ne peux pas avoir un lien direct en dehors de l'arborescence de ton serveur web.
    PHP peut cependant lire un fichier et le distribuer (fonction readfile) du moment que le serveur PHP ait accès à l'emplacement de ce fichier (ce qui n'est évident dans le cas d'un accès en \\ pour des questions de droits par exemple).

  3. #3
    Futur Membre du Club
    Inscrit en
    Novembre 2012
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2012
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    D'accord, merci pour ta réponse.
    Et si je reste dans l'arborescence de mon serveur web, comment faire pour que les liens affichés s'ouvre lorsque je clique dessus?

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est un lien normal :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://site/dossier/fichier.ext

  5. #5
    Futur Membre du Club
    Inscrit en
    Novembre 2012
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2012
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Certe mais ce que je voudrais, c'est que ma liste m'affiche le contenu de mon dossier sous forme de lien vers les différents éléments présent.
    Le contenu étant amené à changer au cours du temps, dans mon code j'écris la lien avec une variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach($fichier as $value) {
        echo '<a href="chemindossier\$value">'.$value.'</a><br />';
    }
    Mais il ne marche pas. Au cours de mes différents essais j'ai pu sois lui faire ouvrir un nouvelle page (ce qui n'est pas le but), sois lorsque je clique rien ne se passe, pas même changement d'url.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Dans un cas comme ça, commence par vérifier le HTML produit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach($fichier as $value) {
    echo '<a href="chemindossier\' . $value . '">'.$value.'</a><br />';
    }

  7. #7
    Futur Membre du Club
    Inscrit en
    Novembre 2012
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2012
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    J'ai maintenant l'erreur suivante:

    Parse error: syntax error, unexpected '"', expecting ',' or ';' in C:\chemindossier\site.php\include\liste.php on line 31
    line31 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<a href="chemindossier\' . $value . '">'.$value.'</a><br />';

    Je précise que j'ai bien remplacer "chemindossier" par le bon chemin

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach($fichier as $value) {
    echo '<a href="chemindossier\\' . $value . '">'.$value.'</a><br />';
    }

  9. #9
    Futur Membre du Club
    Inscrit en
    Novembre 2012
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2012
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Bonjour, j'ai réctifié et mainenant il ouvre bien le lien, mais affiche HTTP 404 Non trouvé.
    L'url devient http://localhost/chemindossier//mavariable.

    Mais il ne m'ouvre pas le dossier.

Discussions similaires

  1. Lister contenu repertoire sur reseau local.
    Par halloumiali dans le forum Général Java
    Réponses: 4
    Dernier message: 03/04/2012, 23h25
  2. JFilechooser repertoire sur reseau
    Par fantomas261 dans le forum Débuter
    Réponses: 1
    Dernier message: 08/09/2010, 11h01
  3. Service windows et repertoire sur le reseau
    Par topolino dans le forum Windows Forms
    Réponses: 1
    Dernier message: 30/01/2010, 20h26
  4. PHP et IIS Problème sur des repertoires virtuels
    Par remi_neo dans le forum IIS
    Réponses: 1
    Dernier message: 30/05/2007, 17h17

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