Aide script

lux
Eléphant du PHP | 372 Messages

01 juin 2008, 12:55

Bah regarde le code utilisé :
if(is_dir($folder.$Fichier)) 
      { 
            echo '<a href="test.php?chemin='.$folder.$Fichier.'">'.$Fichier.'</a><br>'; 
      } 
//Si le fichier n'est pas un dossier, on l'affiche normalement 
 else 
      { 
           echo $Fichier.'<br>';     
      } 
Si tu ne veux pas afficher les fichiers, mais que les dossiers :
if(is_dir($folder.$Fichier)) 
       { 
            echo '<a href="test.php?chemin='.$folder.$Fichier.'">'.$Fichier.'</a><br>'; 
       } 
Ça n'affichera que les dossier. C'est logique pourtant non ?

Invité
Invité n'ayant pas de compte PHPfrance

01 juin 2008, 19:34

Voilà merci sa marche :)

N'y as t'il pas moyen d'afficher les sous-dossier aussi directement sans cliquer dans le dossier où il est contenu ??

C'est a dire sur la premiere page (/test/test.php), il faudrai voir :

Code : Tout sélectionner

---Dossiertest --sousdossier1 --sousdossier2 ---Dossiertest2 --sousdossier1 --sousdossier2
Car là on vois seulement les dossier présent dans celui ou on est donc c'est unutile vu qu'on les voi deja a coté ^^

lux
Eléphant du PHP | 372 Messages

01 juin 2008, 19:56

Regarde du côté de $_SERVER
echo $_SERVER['PHP_SELF'];
Ça t'écriras tout le chemin :wink:

Invité
Invité n'ayant pas de compte PHPfrance

01 juin 2008, 20:20

:/ je n'y arrive pas

Ça donne ça : http://wolfsite.fr/test/test.php
  <?php
 $dossier = opendir($folder); 
while ($Fichier = readdir($dossier))
    { 
        if($Fichier != '.' && $Fichier != '..')
            {  
                //Si le fichier est un dossier, on mets un lien pour aller dedans
                if(is_dir($folder.$Fichier))
                    {
					
                        echo $_SERVER['PHP_SELF'];
                    }
           
            } 
    } 
closedir($dossier); 

?> 
et je ne comprend pas trop :
Le nom du fichier du script en cours d'exécution, par rapport à la racine web. Par exemple, $_SERVER['PHP_SELF'] dans le script situé à l'adresse http://www.monsite.com/test.php/foo.bar sera /test.php/foo.bar. La constante __FILE__ contient le chemin complet ainsi que le nom du fichier (i.e. inclut) courant. Si PHP fonctionne en ligne de commande, cette variable contient le nom du script depuis PHP 4.3.0. Dans les versions antérieures, cette variable n'était pas disponible.
[/code]

Invité
Invité n'ayant pas de compte PHPfrance

03 juin 2008, 16:25

Comment faire pour afficher tous les dossier et sous dossier présent dans un document ??

lux
Eléphant du PHP | 372 Messages

05 juin 2008, 22:42

Salut.

Désolé pour le retard, je suis en plein déménagement.

Pourquoi avoir mis ça dans la boucle ? :
echo $_SERVER['PHP_SELF'];
Tu ne veux l'afficher qu'une seule fois je crois ...

Deuxio je viens d'aller voir sur ton site, il balance une erreur à la ligne 125. A corriger donc :wink:

Invité
Invité n'ayant pas de compte PHPfrance

06 juin 2008, 11:05

http://wolfsite.fr/test/test.php


J'ai inséré seulement
echo $_SERVER['PHP_SELF'];
et sa affiche seulement :

/test/test.php

Invité
Invité n'ayant pas de compte PHPfrance

06 juin 2008, 12:24

Donc la tu affiches le chemin, et à droite tu affiches le contenu du dossier courant. Mais en plus tu veux aussi afficher le contenu de tous les autres dossiers au dessus, c'est bien ça ?

Invité
Invité n'ayant pas de compte PHPfrance

06 juin 2008, 21:21

A gauche je veux afficher les fichier et dossier dans le dossier où on est.
a droite je veux afficher tous les dossier et sous dossier de la racine du site de l'utilisiteur.
en gros afficher tous les dossier et sous dossier qui se trouve dans :
racine de mon gébergeur/sonsite/

Invité
Invité n'ayant pas de compte PHPfrance

12 juin 2008, 21:41

??

lux
Eléphant du PHP | 372 Messages

23 juin 2008, 22:36

Bon je suis la, désolé je ne suis pas trop sur MSN.

On en était ou. Pour la colonne de gauche, ça à l'air de marcher non, ça affiche bien le contenu du dossier courant.

Reste en fait la liste de tous les dossiers au dessus. En fait dans l'idée faudrait faire une fonction récursive qui revient en arrière, avec des '../'.

He j'y pense, t'auras un réponse avant demain soir, 22h :wink:

(Ou tu peux aussi y réfléchir un peu)

Invité
Invité n'ayant pas de compte PHPfrance

25 juin 2008, 13:04

J'vais déjà lire la définitions de fonctions récursive !

merci

lux
Eléphant du PHP | 372 Messages

25 juin 2008, 13:40

Désolé de ne pas avoir pu répondre plus tot, je suis un peu surchargé de boulot en ce moment. Et ce soir je ne suis pas la. Donc je me pencherai sur le problème demain soir.

Je pensais p'tet à une boucle while, comme condition is_dir dans le while. Et la boucle remonte dans l'arborescence, au lieu d'incrémenter un $i++ on ferait un $chemin = .'../'.$chemin;

Dans l'idée un truc comme ça mais pas sur que ça marche. Faut que je teste avant je ne garantis rien :P

lux
Eléphant du PHP | 372 Messages

29 juin 2008, 16:00

Bon longtemps après... j'ai pas eu le temps de m'occuper de ça avant. J'ai eu une idée plus simple :
$chemins = explode('/',$chemin);
$dossier = '';
foreach($chemins as $key=>$value)
	{
		//Affichage du contenu de chaque chemin avec opendir+readdir ... code à écrire par toi
                $dossier = $dossier.$value;
	}
On fait un explode du chemin, avec des slashes. Ainsi on récupère chaque élément de chemin.
Ensuite un foreach qui va scanner chaque élément, une valeur $dossier qui est vide au debut, mais qui à chaque tour de boucle va compléter le chemin. A toi de finir le code. Ça marche, mais j'ai pas le temps de te macher le travail. Si tu n'y arrives pas, poste le code que tu as pour cette partie :wink:
Il y aura aussi peut-être quelques réglages à faire :wink: