LISTER LES FICHIERS D'UN DOSSIER, ET EN FAIRE DES LIENS
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 2010
-
18 mai 2005 à 10:09
dream303
Messages postés35Date d'inscriptionmardi 10 juin 2003StatutMembreDernière intervention30 décembre 2006
-
2 sept. 2005 à 13:52
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
dream303
Messages postés35Date d'inscriptionmardi 10 juin 2003StatutMembreDernière intervention30 décembre 2006 1 sept. 2005 à 12:39
MTRZEN, j'utilise ton script depuis ce matin mais j'aimerais trier les fichiers de la liste par nom. Est-ce que c'est possible ? (Perso je vois pas comment faire ...)
mtrzen
Messages postés18Date d'inscriptionlundi 16 mai 2005StatutMembreDernière intervention13 mars 2007 1 sept. 2005 à 12:27
il suffit de tripatouiller l url pour la trouver
sinon, ce qui est a faire c mettre le repertoire a explorer ailleurs que le dans le meme dossier que le fichier d exploration
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 1 sept. 2005 à 12:03
Il serait donc bien de les signaler (j'ai la flemme de matter désolé)
mtrzen
Messages postés18Date d'inscriptionlundi 16 mai 2005StatutMembreDernière intervention13 mars 2007 1 sept. 2005 à 12:01
en faite, j ai mis au point une toute nouvelle version de ce script, bien plus complexe, bien plus aboutit, enfin bref, bientot un post aboutira ladessus
dailleurs faites attention ce script comporte une grosse faille... et plusieurs petites
dream303
Messages postés35Date d'inscriptionmardi 10 juin 2003StatutMembreDernière intervention30 décembre 2006 1 sept. 2005 à 11:48
Merci a toi MTRZEN, ta source fonctionne très bien et m'a rendue service !
A+ et bonne continuation !
www.dream303.tk
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 22 mai 2005 à 21:03
je sais j'aurais dû mettre entre guillemets le "égal" ;-)
fuckya
Messages postés125Date d'inscriptionmercredi 31 mars 2004StatutMembreDernière intervention 8 juin 2006 22 mai 2005 à 19:27
Fâché avec l'orthographe aussi ^^
Non j'rigole c'est juste qu'on dit les doubles égaux au pluriel :D
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 22 mai 2005 à 18:27
mes trois signes :
if($Repertoire==='..')
{
}
etc...
je suis fâché avec les doubles égal ^^
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 22 mai 2005 à 18:02
Hello,
tu insistes avec les trucs lourds lol ;-)
<?php
If ($Repertoire == '..')
{
$Repertoire = '.';
}
If ($Repertoire == '')
{
$Repertoire = '.';
}
?>
Pourquoi ne pas mettre if ($Repertoire '.' || $Repertoire '..') {} ?
Ensuite heu...pourquoi faire ca, tout simplement, lol ?
Ensuite, pourquoi tu crees autant de variables Exceptions ? Pourquoi pas un tableau direct...au lieu de le creer a la volee ensuite dans ton in_array() ?
$path_parts['extension']=='' => empty($path_parts['extension']) devrait fonctionner. Pas sur que ce soit plus rapide, mais c'est plus joli :-)
Bon...j'ai la flemme de continuer et pas trop le temps : mais tu devrais faire une fonction de ce truc, quand meme, ce serait plus utile.
mtrzen
Messages postés18Date d'inscriptionlundi 16 mai 2005StatutMembreDernière intervention13 mars 2007 20 mai 2005 à 15:17
Voici la nouvelle version du script...
Bon, je n'ai pas integré les .htacces et autres, et laisser la possibilité de voir les fichier *.php.*
apr contre Pathinfo() me permet de naviguer sur le nom du dossier
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 19 mai 2005 à 18:05
C'est pas vraiment une faille vu le but du script, plutôt un bug dirons-nous ;-)
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 19 mai 2005 à 16:19
MTRZEN => l'erreur 500 c'etait sur le forum, pas sur ton code ;-)
Quant aux failles, je te l'ai dit un peu plus haut.
cs_garfield90
Messages postés388Date d'inscriptionlundi 7 juillet 2003StatutWebmasterDernière intervention10 février 2009 19 mai 2005 à 12:54
>> Twisteurwin : No problem, le but de ce site est d'apprendre, non.
>> Malalam : moi, aussi mais le message est passé ;)
cs_twisteurwin
Messages postés167Date d'inscriptionmardi 21 septembre 2004StatutMembreDernière intervention 2 mai 2009 19 mai 2005 à 12:40
Ok avec vous !
Un fichier a toujours une association l'extension n'est pas obligatoire...soit...
Un repertoire ne s'associe pas à un programme...
vala jpeux me tromper...mais jcrois en moi lol
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 19 mai 2005 à 12:33
C'est de la triche, j'ai eu une erreur 500!! ;-)
cs_garfield90
Messages postés388Date d'inscriptionlundi 7 juillet 2003StatutWebmasterDernière intervention10 février 2009 19 mai 2005 à 12:30
Malalam : Presque synchro ;)
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 19 mai 2005 à 12:29
=> twisteurwin : pas forcement...et en tous cas, ce ne sera certainement pas verifiable de cette maniere. je peux creer un repertoire s'appelant "mon.repertoire" si je veux. Et un fichier "monfichier". Et je ne parle pas de Linux...
cs_garfield90
Messages postés388Date d'inscriptionlundi 7 juillet 2003StatutWebmasterDernière intervention10 février 2009 19 mai 2005 à 12:29
>> Twisteurwin
Utilisateur windows,va ;)
par exemple: les fichiers .htaccess et .htpasswd ont des extensions , non !
ici, le point permet de dire au systeme en particulier *nix que c'est un fichier caché, si mes souvenirs sont bons
Rien ne t'empeche de ne pas donner d'extension sous Windows en plus, le pb c'est que windows associe les programmes en fonctions de l'extension et non du type de fichier (cf MIME)
Sur ce bon app
cs_twisteurwin
Messages postés167Date d'inscriptionmardi 21 septembre 2004StatutMembreDernière intervention 2 mai 2009 19 mai 2005 à 12:14
"Commentaire de : garfield90 > pour déterminer si c'est un fichier utilise ( is_file) et pour un repertoire (is_dir)
un fichier peut ne pas avoir d'extension"
Au contraire un fichier porte une extension mais pas un repertoire...:-)
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 19 mai 2005 à 11:30
D'ailleurts a ce propos, il y a d'autres failles dans ton script.
Tu fais un explode sur le ".". Ok, mais moi je nomme mes fichiers classes ainsi :
myclass.cls.php
Tu ne vas recuperer que cls avec ton systeme, demandant directement le $page[1].
Tu ne testes pas non plus si tu as bien un tableau en sortie de tes explode, donc en cas de fichier sans extension...
Et je ne comprends toujours pas ta sombre histoire de "trous" lol...
cs_garfield90
Messages postés388Date d'inscriptionlundi 7 juillet 2003StatutWebmasterDernière intervention10 février 2009 19 mai 2005 à 10:55
Salut,
pour déterminer si c'est un fichier utilise ( is_file) et pour un repertoire (is_dir)
un fichier peut ne pas avoir d'extension
mtrzen
Messages postés18Date d'inscriptionlundi 16 mai 2005StatutMembreDernière intervention13 mars 2007 19 mai 2005 à 10:10
C est pour l evolution du Script :) ce trou va laisser la place a des actions différentes en cas de dossier ;)
Bon je me penche sur l utilisation des tableaux et je modifi tout cela
cs_Kayar
Messages postés19Date d'inscriptiondimanche 5 novembre 2000StatutMembreDernière intervention13 janvier 2006 19 mai 2005 à 07:09
pourquoi tu met ca :
if($ext_fichier=='') {
}Else{
echo '['.$file.' ';
echo $nom_fichier; echo ']';
echo ' - '.$ext_fichier;
echo '
';
}
Il y a plus simple :
if($ext_fichier!='') {
echo '['.$file.' ';
echo $nom_fichier; echo ']';
echo ' - '.$ext_fichier;
echo '
';
}
Et ca amène a la meme chose.
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 18 mai 2005 à 18:26
Salut,
if ($Repertoire == 'EspacePerso')
tu pourrais plutôt mettre dans un array tes noms de dossiers à ne pas lister et à faire un if(in_array($machin...
a +
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 18 mai 2005 à 16:07
Bah si tu faisais une fonction avec des parametres...ce serait encore plus simple.
$affphp = true | false
$affnull = true | false
voire meme mettre juste les extensions non desirees dans un tableau et passer ce tableau en parametre a ta fonction, et la condition qui va avec (if (!in_array($ext_fichiers, $tableau_extensions)) alors on affiche
mtrzen
Messages postés18Date d'inscriptionlundi 16 mai 2005StatutMembreDernière intervention13 mars 2007 18 mai 2005 à 15:15
En faite, l'avantage de ma formule est de pouvoir avoir un fichier autonome, qui de plus es laisse l'option d afficher les dossiers ou non, et celle de revenir en arriere ou non.
<?php
echo '[.. retour]
';//mettre 2 antislashs pour empcher le retour
$dir = opendir('.');
while($file = readdir($dir))
{ //on lit tout et on récupere tout les fichiers dans $file
if(!in_array($file, array(".","..")))
{ //on eleve le parent et le courant '. et ..'
//sort l extension du fichier
$page = explode("/", $file);
$page = explode(".", ($page[count($page)-1]));
$nom_fichier = $page[0];
$ext_fichier = $page[1];
if($nom_fichier=='index')
{
}Else{
voici un code enregistrable dans un dossier INDEX.PHP... pratique, je viens de le moduler pour un ami qui stock des tas de photos sur son ftp; sans rien connaitre a la prog..
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 18 mai 2005 à 14:05
Oops, c'est ma faute, j'en ai mis 3 de =, mais uniquement dans le 1er. J'avais vu mais je n'ai pas releve pensant que tu corrigerais tout seul en voyant mon explication, et la seconde comparaison...
Pour le listage :
tu fais ton if qu dit : si l'extension est differente d'une chaine vide ou de la chaine 'php'...
et la tu ouvres une jolie accolade, tu mets ton code, puis tu la fermes (l'accolade... ;-) )
Ton code actuel a trop de {} et de if ()...ne le corrige pas, reprends le, ce sera plus simple et evitera les erreurs de conception lol.
fuckya
Messages postés125Date d'inscriptionmercredi 31 mars 2004StatutMembreDernière intervention 8 juin 2006 18 mai 2005 à 13:56
Ca existe pas les !=== ;)
mtrzen
Messages postés18Date d'inscriptionlundi 16 mai 2005StatutMembreDernière intervention13 mars 2007 18 mai 2005 à 13:47
avec ta solution
if ($ext_fichier !=== '' && $ext_fichier !== 'php')
Parse error: parse error, unexpected '=' in /var/www/free.fr/e/7/grg666/**/**/**/fichier.php on line 18
et si je met
if ($ext_fichier !== '' && $ext_fichier !== 'php')
ca liste les dossiers... :'(
mtrzen
Messages postés18Date d'inscriptionlundi 16 mai 2005StatutMembreDernière intervention13 mars 2007 18 mai 2005 à 13:15
les BBS vivent encore (cf. parano.be)
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 18 mai 2005 à 12:21
Bah, ce serait moins drole s'il n'y avait aucune subtilites ;-)
T'as connu les bbs toi...?
mtrzen
Messages postés18Date d'inscriptionlundi 16 mai 2005StatutMembreDernière intervention13 mars 2007 18 mai 2005 à 11:54
okay merci
ce sataner "0" qu'il ne faut pas négliger. Je me souviens sur un BBS, le simple fait de demander l affichage du post "0" permetait d afficher l integralité des posts.. de quoi faire fumer le pauvre serveur perso derriere
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 18 mai 2005 à 10:56
Le false : parce que la doc php le dit comme ca ;-)
Non, c'est simple : les operateurs de comparaisons sont ou (ou != et !== par exemple). Dans le premier cas, il ne faut pas oublier que php n'est pas un language tres type...or, on ne compare pas sur le type. Dans le second cas, on compare aussi sur le type (les deux valeurs doivent etre de meme type).
Ce qui veut dire que, avec ton code, si ton script tombe sur un fichier qui s'appelle 0, il va s'arreter. Parce que tu lui dis "si mon read dir renvoie 0, tu t'arretes). Avec ma proposition, il ne s'arretera pas parce qu'il faudra que ce fichier soit de type booleen, et que sa valeur soit exactement equivalente a false.
Le
, non, c'est juste la norme w3c pour le xhtml, et me semble t il aussi pour le html 4.01 : tous les elements doivent etre fermes. Donc soit on a un element imbriquant une valeur ( valeur ) et la c#est facile. Soit on a un element qui n'imprique pas de valeur (
) auquel cas il faut l'ecrire de cette maniere.
mtrzen
Messages postés18Date d'inscriptionlundi 16 mai 2005StatutMembreDernière intervention13 mars 2007 18 mai 2005 à 10:45
Désolé, je débute en php.
Pourquoi while(false !==($file = readdir($dir)))
enfin pourquoi false !==
qu'est-ce que le !=== dans le If
et sinon quel interet du
? ca permet d'éviter des failles ou de mauvaises interpretation du serveur?
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 18 mai 2005 à 10:09
Hello,
while($file = readdir($dir))
doit etre
while(false !==($file = readdir($dir)))
et je n'ai pas bien pige tes if () {} :
# if($ext_fichier=='php')
# {
# }Else{
# if($ext_fichier=='')
# {
# }Else{
Ca sert a quoi...?
Enfin je comprends a quoi ca sert, mais pourquoi n'as tu pas fait l'inverse ?
if ($ext_fichier !=== '' && $ext_fichier !== 'php') {
ton code
}
Idem pour ton premier if ().
2 sept. 2005 à 13:52
2 sept. 2005 à 13:51
2 sept. 2005 à 13:40
http://www.phpcs.com/code.aspx?ID=33593
2 sept. 2005 à 10:23
http://www.phpcs.com/code.aspx?ID=33593
1 sept. 2005 à 12:39
1 sept. 2005 à 12:27
sinon, ce qui est a faire c mettre le repertoire a explorer ailleurs que le dans le meme dossier que le fichier d exploration
1 sept. 2005 à 12:03
1 sept. 2005 à 12:01
dailleurs faites attention ce script comporte une grosse faille... et plusieurs petites
1 sept. 2005 à 11:48
A+ et bonne continuation !
www.dream303.tk
22 mai 2005 à 21:03
22 mai 2005 à 19:27
Non j'rigole c'est juste qu'on dit les doubles égaux au pluriel :D
22 mai 2005 à 18:27
if($Repertoire==='..')
{
}
etc...
je suis fâché avec les doubles égal ^^
22 mai 2005 à 18:02
tu insistes avec les trucs lourds lol ;-)
<?php
If ($Repertoire == '..')
{
$Repertoire = '.';
}
If ($Repertoire == '')
{
$Repertoire = '.';
}
?>
Pourquoi ne pas mettre if ($Repertoire '.' || $Repertoire '..') {} ?
Ensuite heu...pourquoi faire ca, tout simplement, lol ?
Ensuite, pourquoi tu crees autant de variables Exceptions ? Pourquoi pas un tableau direct...au lieu de le creer a la volee ensuite dans ton in_array() ?
$path_parts['extension']=='' => empty($path_parts['extension']) devrait fonctionner. Pas sur que ce soit plus rapide, mais c'est plus joli :-)
Bon...j'ai la flemme de continuer et pas trop le temps : mais tu devrais faire une fonction de ce truc, quand meme, ce serait plus utile.
20 mai 2005 à 15:17
Bon, je n'ai pas integré les .htacces et autres, et laisser la possibilité de voir les fichier *.php.*
apr contre Pathinfo() me permet de naviguer sur le nom du dossier
<html><head>
<!-- CSS Stylesheet -->
<style type="text/css">
<!--
a:VISITED {
color : #000099;
text-decoration : none;
}
a:HOVER {
color: #6666FF;
}
a:LINK {
color : #0000AA;
text-decoration : none;
}
.bas
{
background-color: #F9F9F9;
color: #666666;
font: 6pt geneva, lucida, veranda,'lucida grande', arial, helvetica, sans-serif;
text-align: center;
width: 320px;
MARGIN-TOP: 20px;
}
.dossier
{
background-color: #BBBBBB;
color: #000000;
font: 10pt verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;
MARGIN-TOP: 5px;
MARGIN-BOTTOM: 5px;
MARGIN-LEFT: 5px;
MARGIN-RIGHT: 5px;
text-align: left;
border-left: thin solid Green;
border-right: thin solid Green;
border-top: thin solid Green;
border-bottom: thin solid Green;
scrollbar-base-color: #f2f2f2;
scrollbar-track-color: #f9fafa;
scrollbar-face-color: #F1F1F1;
scrollbar-highlight-color: #ffffff;
scrollbar-3dlight-color: #ffffff;
scrollbar-darkshadow-color: #ffffff;
scrollbar-shadow-color: #C8C8CA;
scrollbar-arrow-color: #999999;
width: 320px;
}
.boite
{
background-color: #DDDDDD;
color: #333333;
font: 9pt verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;
MARGIN-TOP: 0px;
MARGIN-BOTTOM: 0px;
MARGIN-LEFT: 10px;
MARGIN-RIGHT: 10px;
border-top: thin dotted Blue;
border-bottom: thin solid Blue;
scrollbar-base-color: #f2f2f2;
scrollbar-track-color: #f9fafa;
scrollbar-face-color: #F1F1F1;
scrollbar-highlight-color: #ffffff;
scrollbar-3dlight-color: #ffffff;
scrollbar-darkshadow-color: #ffffff;
scrollbar-shadow-color: #C8C8CA;
scrollbar-arrow-color: #999999;
width: 300px;
}
</style>
</head>
<?php
If ($Repertoire == '..')
{
$Repertoire = '.';
}
If ($Repertoire == '')
{
$Repertoire = '.';
}
?>
<?php
echo '';
echo '[?Repertoire=. SITE OUEB]';
$Chemin = explode("/", $Repertoire);
$xxxx = 1;
while($Chemin[$xxxx])
{
echo '[?Repertoire=.';
$xxx = 1;
while($xxx !== $xxxx + 1)
{
echo '/'.$Chemin[$xxx];
$xxx = $xxx + 1;
}
echo ' /'.$Chemin[$xxxx];
$xxxx = $xxxx +1;
echo ']';
}
echo '';
?>
<?php
$Exeption1 = ".";
$Exeption2 = "..";
$Exeption3 = 'php';
$dir = opendir($Repertoire);
while(False !($file readdir($dir)))
{
if(!in_array($file, array($Exeption1,$Exeption2)))
{
$path_parts = pathinfo($file);
if ($path_parts['extension']=='')
{
echo $path_parts['dirname'].'.........';
echo '[?Dir='.$Dir.'&Repertoire='.$Repertoire.'/'.$path_parts['basename'].' ';
echo $path_parts['basename'].']
';
}Else
{
//sort le nom du fichier
$page = explode("/", $file);
$page = explode(".", ($page[count($page)-1]));
$nom_fichier = $page[0];
if ($path_parts['extension']!==$Exeption3)
{
echo $path_parts['dirname'].'['.$Repertoire.'/'.$file.' ';
echo $nom_fichier; echo ']';
echo ' - '.$path_parts['extension'].' - ';
echo '
';
}
}
}
}
?>
<?php
echo '-Easy Explo Web- ';
echo 'version 0.8 du 20/05/2005';
echo '
derniere maj : **censured**';
echo '
soft : LucCaCorpo'
?>
</html>
19 mai 2005 à 18:05
19 mai 2005 à 16:19
Quant aux failles, je te l'ai dit un peu plus haut.
19 mai 2005 à 12:54
>> Malalam : moi, aussi mais le message est passé ;)
19 mai 2005 à 12:40
Un fichier a toujours une association l'extension n'est pas obligatoire...soit...
Un repertoire ne s'associe pas à un programme...
vala jpeux me tromper...mais jcrois en moi lol
19 mai 2005 à 12:33
19 mai 2005 à 12:30
19 mai 2005 à 12:29
19 mai 2005 à 12:29
Utilisateur windows,va ;)
par exemple: les fichiers .htaccess et .htpasswd ont des extensions , non !
ici, le point permet de dire au systeme en particulier *nix que c'est un fichier caché, si mes souvenirs sont bons
Rien ne t'empeche de ne pas donner d'extension sous Windows en plus, le pb c'est que windows associe les programmes en fonctions de l'extension et non du type de fichier (cf MIME)
Sur ce bon app
19 mai 2005 à 12:14
un fichier peut ne pas avoir d'extension"
Au contraire un fichier porte une extension mais pas un repertoire...:-)
19 mai 2005 à 11:30
Tu fais un explode sur le ".". Ok, mais moi je nomme mes fichiers classes ainsi :
myclass.cls.php
Tu ne vas recuperer que cls avec ton systeme, demandant directement le $page[1].
Tu ne testes pas non plus si tu as bien un tableau en sortie de tes explode, donc en cas de fichier sans extension...
Et je ne comprends toujours pas ta sombre histoire de "trous" lol...
19 mai 2005 à 10:55
pour déterminer si c'est un fichier utilise ( is_file) et pour un repertoire (is_dir)
un fichier peut ne pas avoir d'extension
19 mai 2005 à 10:10
Bon je me penche sur l utilisation des tableaux et je modifi tout cela
19 mai 2005 à 07:09
if($ext_fichier=='') {
}Else{
echo '['.$file.' ';
echo $nom_fichier; echo ']';
echo ' - '.$ext_fichier;
echo '
';
}
Il y a plus simple :
if($ext_fichier!='') {
echo '['.$file.' ';
echo $nom_fichier; echo ']';
echo ' - '.$ext_fichier;
echo '
';
}
Et ca amène a la meme chose.
18 mai 2005 à 18:26
if ($Repertoire == 'EspacePerso')
tu pourrais plutôt mettre dans un array tes noms de dossiers à ne pas lister et à faire un if(in_array($machin...
a +
18 mai 2005 à 16:07
$affphp = true | false
$affnull = true | false
voire meme mettre juste les extensions non desirees dans un tableau et passer ce tableau en parametre a ta fonction, et la condition qui va avec (if (!in_array($ext_fichiers, $tableau_extensions)) alors on affiche
18 mai 2005 à 15:15
<?php
echo '[.. retour]
';//mettre 2 antislashs pour empcher le retour
$dir = opendir('.');
while($file = readdir($dir))
{ //on lit tout et on récupere tout les fichiers dans $file
if(!in_array($file, array(".","..")))
{ //on eleve le parent et le courant '. et ..'
//sort l extension du fichier
$page = explode("/", $file);
$page = explode(".", ($page[count($page)-1]));
$nom_fichier = $page[0];
$ext_fichier = $page[1];
if($nom_fichier=='index')
{
}Else{
//pour activer le masque des dossiers, supprimer les 4 antislashs suivants
// if($ext_fichier=='')
// {
// }Else{
echo '['.$file.' ';
echo $nom_fichier; echo ']';
echo ' - '.$ext_fichier;
echo '
';
// }
}
}
}
?>
voici un code enregistrable dans un dossier INDEX.PHP... pratique, je viens de le moduler pour un ami qui stock des tas de photos sur son ftp; sans rien connaitre a la prog..
18 mai 2005 à 14:05
Pour le listage :
tu fais ton if qu dit : si l'extension est differente d'une chaine vide ou de la chaine 'php'...
et la tu ouvres une jolie accolade, tu mets ton code, puis tu la fermes (l'accolade... ;-) )
Ton code actuel a trop de {} et de if ()...ne le corrige pas, reprends le, ce sera plus simple et evitera les erreurs de conception lol.
if ($ext_fichier !== '' && $ext_fichier !== 'php'){
echo '['.$Repertoire.'/'.$file.' ----';
echo $nom_fichier;
echo ']';
echo ' - '.$ext_fichier;
echo '
';
}
18 mai 2005 à 13:56
18 mai 2005 à 13:47
if ($ext_fichier !=== '' && $ext_fichier !== 'php')
Parse error: parse error, unexpected '=' in /var/www/free.fr/e/7/grg666/**/**/**/fichier.php on line 18
et si je met
if ($ext_fichier !== '' && $ext_fichier !== 'php')
ca liste les dossiers... :'(
18 mai 2005 à 13:15
18 mai 2005 à 12:21
T'as connu les bbs toi...?
18 mai 2005 à 11:54
ce sataner "0" qu'il ne faut pas négliger. Je me souviens sur un BBS, le simple fait de demander l affichage du post "0" permetait d afficher l integralité des posts.. de quoi faire fumer le pauvre serveur perso derriere
18 mai 2005 à 10:56
Non, c'est simple : les operateurs de comparaisons sont ou (ou != et !== par exemple). Dans le premier cas, il ne faut pas oublier que php n'est pas un language tres type...or, on ne compare pas sur le type. Dans le second cas, on compare aussi sur le type (les deux valeurs doivent etre de meme type).
Ce qui veut dire que, avec ton code, si ton script tombe sur un fichier qui s'appelle 0, il va s'arreter. Parce que tu lui dis "si mon read dir renvoie 0, tu t'arretes). Avec ma proposition, il ne s'arretera pas parce qu'il faudra que ce fichier soit de type booleen, et que sa valeur soit exactement equivalente a false.
Le
, non, c'est juste la norme w3c pour le xhtml, et me semble t il aussi pour le html 4.01 : tous les elements doivent etre fermes. Donc soit on a un element imbriquant une valeur ( valeur ) et la c#est facile. Soit on a un element qui n'imprique pas de valeur (
) auquel cas il faut l'ecrire de cette maniere.
18 mai 2005 à 10:45
Pourquoi while(false !==($file = readdir($dir)))
enfin pourquoi false !==
qu'est-ce que le !=== dans le If
et sinon quel interet du
? ca permet d'éviter des failles ou de mauvaises interpretation du serveur?
18 mai 2005 à 10:09
while($file = readdir($dir))
doit etre
while(false !==($file = readdir($dir)))
et je n'ai pas bien pige tes if () {} :
# if($ext_fichier=='php')
# {
# }Else{
# if($ext_fichier=='')
# {
# }Else{
Ca sert a quoi...?
Enfin je comprends a quoi ca sert, mais pourquoi n'as tu pas fait l'inverse ?
if ($ext_fichier !=== '' && $ext_fichier !== 'php') {
ton code
}
Idem pour ton premier if ().
devrait etre
, mais bon.
Sinon rien a dire, ca doit fonctionner.