Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2813 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Edit sur index.php

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Edit sur index.php

n°1581395
iboll
Ainsi sont-ils ?
Posté le 02-07-2007 à 10:55:08  profilanswer
 

Bonjour
j'ai récupéré sur le net un fichier "index.php" qui permet une fois placé dans un dossier de répertorier son contenu et de l'afficher sur une page web
Ex: http://www.monsite.fr/dossier1/index.php. "Index.php" affiche donc le contenu du dossier "/dossier1/"  
 
Le seul problème est qu'il tri de façon anarchique, parfois par ordre d'arrivé sur le serveur, parfois par ordre alphabétique.
 
Je recherche donc "du code" à rajouter qui permette de trier -par ordre alphabétique d'un part
                                                                                   - par ordre d'arrivée sur le serveur d'autre part

Voilà le code php du fichier en question:

 
<?
                                                                                                             
$path="./";
$handle=opendir($path);
                                                                                                             
while (false != ($file = readdir($handle)))
                                                                                                             
/* teste si on a bien un fichier ou un répertoire réel et avec un masque sur l'extension PHP */
  if (substr($file, 0, 1) != "." && strtoupper(substr($file,-3)) != "PHP" ) {
        echo "<a href=\"$path$file\">$file</a><br>";
   
        }
                                                                                                             
?>
 
 
Merci beaucoup de votre aide  :jap:  

mood
Publicité
Posté le 02-07-2007 à 10:55:08  profilanswer
 

n°1581399
anapajari
s/travail/glanding on hfr/gs;
Posté le 02-07-2007 à 11:00:58  profilanswer
 

lire la doc sur opendir ( et particulierement les commentaires en bas qui proposent moultes exemples de tris de fichiers par nom)
Après par l'ordre d'arrivé tu auras également besoin de filemtime

Message cité 1 fois
Message édité par anapajari le 02-07-2007 à 11:01:17
n°1581401
iboll
Ainsi sont-ils ?
Posté le 02-07-2007 à 11:06:12  profilanswer
 

anapajari a écrit :

lire la doc sur opendir ( et particulierement les commentaires en bas qui proposent moultes exemples de tris de fichiers par nom)
Après par l'ordre d'arrivé tu auras également besoin de filemtime


 
Merci, je vais lire tout ça  :jap:

n°1581634
iboll
Ainsi sont-ils ?
Posté le 02-07-2007 à 18:41:49  profilanswer
 

j'ai fait des essais avec un bon paquet de propositions mais ça ne marche pas correctement. Pour certain, dreamweaver ne veut rien savoir, et pour d'autres le classement alphabétique n'est pas cohérent et semble être "perturbé" par les différente extensions présentes dans le dossier.
 
Je précise que je n'y connais absolument rien en programation php !
Je reviens donc à mon 1er message
 
Merci anapajari en tout cas  :)

n°1581657
WiiDS
20 titres en GC, 0 abandon, 0 DQ
Posté le 02-07-2007 à 20:57:38  profilanswer
 

Code :
  1. <?php
  2.                                                      
  3. $arrayFichiers=array();
  4. $ordre=$_GET['tri'];
  5. $path='./';
  6. $handle=opendir($path);
  7.                                                                                                            
  8. while (false != ($file = readdir($handle))) {
  9.                                                                                                            
  10.  if (substr($file, 0, 1) != '.' && strtoupper(substr($file,-3)) != 'PHP' ) {
  11.        $arrayFichiers[$file]=filemtime($path.$file);
  12.         }
  13. }
  14. if($ordre == 'alpha') ksort($arrayFichiers);
  15. elseif($ordre == 'alpha2') krsort($arrayFichiers);
  16. elseif($ordre == 'modif') asort($arrayFichiers);
  17. elseif($ordre == 'modif2') arsort($arrayFichiers);
  18. else ksort($arrayFichiers);
  19.  
  20. foreach($arrayFichiers as $nom => $dateDeModification) {
  21. echo '<a href="'.$path.$nom.'">'.$nom.'</a><br />';
  22. }
  23.                                                                                                            
  24. ?>


 
Tu n'as plus qu'a taper :
 
www.monsite.com/index.php?ordre=alpha Tri alphabétique en ordre croissant
www.monsite.com/index.php?ordre=alpha2 Tri alphabétique en ordre décroissant
www.monsite.com/index.php?ordre=modif Tri par date de modification en ordre croissant (du plus vieux fichier au plus récent)
www.monsite.com/index.php?ordre=modif2 Tri par date de modification en ordre décroissant (du plus récent fichier au plus vieux)


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
n°1581712
theredled
● REC
Posté le 02-07-2007 à 23:53:52  profilanswer
 

anomique [:aloy]
 


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1581760
anapajari
s/travail/glanding on hfr/gs;
Posté le 03-07-2007 à 09:23:22  profilanswer
 

WIIDS: case...switch t'aimes pas? Nan parce que les 50 elseif :o

n°1581941
WiiDS
20 titres en GC, 0 abandon, 0 DQ
Posté le 03-07-2007 à 15:38:39  profilanswer
 

anapajari a écrit :

WIIDS: case...switch t'aimes pas? Nan parce que les 50 elseif :o


C'est plus propre mais j'ai lu que c'était plus lent

 

Et plus propre en fait, même pas sur [:fading]

 

Donc oui, j'aime pas [:ocube]

Message cité 1 fois
Message édité par WiiDS le 03-07-2007 à 15:40:13

---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
n°1581955
theredled
● REC
Posté le 03-07-2007 à 15:49:42  profilanswer
 

WiiDS a écrit :

C'est plus propre mais j'ai lu que c'était plus lent


lol :/
Moi j'ai lu que c'était de la branlette [:dawa] D'autant que si ça se trouve, les octets que tu rajoutes te font perdre en BP le temps gagné en micro-optimisation...
Et c'est crade puisque tu répètes le nom de la variable 5 fois (redondant), et tu perds en lisibilité (perso).

Message cité 1 fois
Message édité par theredled le 03-07-2007 à 15:51:12

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1581972
anapajari
s/travail/glanding on hfr/gs;
Posté le 03-07-2007 à 16:01:20  profilanswer
 

theredled a écrit :

lol :/
Moi j'ai lu que c'était de la branlette [:dawa] D'autant que si ça se trouve, les octets que tu rajoutes te font perdre en BP le temps gagné en micro-optimisation...


YOU MADE ME LOL'D !!!
Nan mais c'est vrai que le code php est tranmis au navigateur :o donc c'est important de faire des scripts php courts pour ne pas surcharger la bande passante :o
 
Mais sur le fond et l'optimisation tu as raison... ;)

mood
Publicité
Posté le 03-07-2007 à 16:01:20  profilanswer
 

n°1582006
theredled
● REC
Posté le 03-07-2007 à 16:33:48  profilanswer
 

Ah oui merde :o
En mémoire serveur utilisée alors :o


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1582063
WiiDS
20 titres en GC, 0 abandon, 0 DQ
Posté le 03-07-2007 à 17:34:03  profilanswer
 

OSEF, moi j'aime pas les switch case, c'est vrai que dans le fond on répète pas tout le temps $ordre mais les break; j'aime pas du tout :/
 
switch($lol) {
case "xxx":
echo $b;
break;
defaut:
echo $a;
break;
}
 
Non j'aime pas, c'est tout :o


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
n°1582112
iboll
Ainsi sont-ils ?
Posté le 03-07-2007 à 20:28:48  profilanswer
 

WiiDS a écrit :

Code :
  1. <?php
  2.                                                      
  3. $arrayFichiers=array();
  4. $ordre=$_GET['tri'];
  5. $path='./';
  6. $handle=opendir($path);
  7.                                                                                                            
  8. while (false != ($file = readdir($handle))) {
  9.                                                                                                            
  10.  if (substr($file, 0, 1) != '.' && strtoupper(substr($file,-3)) != 'PHP' ) {
  11.        $arrayFichiers[$file]=filemtime($path.$file);
  12.         }
  13. }
  14. if($ordre == 'alpha') ksort($arrayFichiers);
  15. elseif($ordre == 'alpha2') krsort($arrayFichiers);
  16. elseif($ordre == 'modif') asort($arrayFichiers);
  17. elseif($ordre == 'modif2') arsort($arrayFichiers);
  18. else ksort($arrayFichiers);
  19.  
  20. foreach($arrayFichiers as $nom => $dateDeModification) {
  21. echo '<a href="'.$path.$nom.'">'.$nom.'</a><br />';
  22. }
  23.                                                                                                            
  24. ?>


 
Tu n'as plus qu'a taper :
 
www.monsite.com/index.php?ordre=alpha Tri alphabétique en ordre croissant
www.monsite.com/index.php?ordre=alpha2 Tri alphabétique en ordre décroissant
www.monsite.com/index.php?ordre=modif Tri par date de modification en ordre croissant (du plus vieux fichier au plus récent)
www.monsite.com/index.php?ordre=modif2 Tri par date de modification en ordre décroissant (du plus récent fichier au plus vieux)


 
 
 
ça marche impeccable en alphabétique croissant, mais inefficace pour les 3 autres tris
Merci bcp en tout cas, ça répond bien à mon pb de base  :)

n°1582114
WiiDS
20 titres en GC, 0 abandon, 0 DQ
Posté le 03-07-2007 à 20:35:00  profilanswer
 

iboll a écrit :

ça marche impeccable en alphabétique croissant, mais inefficace pour les 3 autres tris
Merci bcp en tout cas, ça répond bien à mon pb de base  :)


http://www.monsite.com/index.php?tri=alpha
http://www.monsite.com/index.php?tri=alpha2
http://www.monsite.com/index.php?tri=modif
http://www.monsite.com/index.php?tri=modif2

 

Désolé, trompage, c'est pas ?ordre mais ?tri :o

 

Ca marchait pour l'ordre alphabétique car c'est automatiquement mis sur ce tri si aucun paramètre valide n'est passé ;)

Message cité 1 fois
Message édité par WiiDS le 03-07-2007 à 20:42:55

---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
n°1582118
theredled
● REC
Posté le 03-07-2007 à 20:40:59  profilanswer
 

WiiDS a écrit :

OSEF, moi j'aime pas les switch case, c'est vrai que dans le fond on répète pas tout le temps $ordre mais les break; j'aime pas du tout :/
 
switch($lol) {
case "xxx":
echo $b;
break;
defaut:
echo $a;
break;
}
 
Non j'aime pas, c'est tout :o


Forcément, si t'aimes pas non plus indenter :o


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1582120
WiiDS
20 titres en GC, 0 abandon, 0 DQ
Posté le 03-07-2007 à 20:43:59  profilanswer
 

theredled a écrit :

Forcément, si t'aimes pas non plus indenter :o


Code :
  1. <?php
  2. switch($lol) {
  3.     case "xxx":
  4.         echo $b;
  5.         break;
  6.     default:
  7.         echo $a;
  8.         break;
  9. }
  10. ?>


 
Un peu mieux mais je préfère toujours mon petit if elseif, question de gouts toussa [:spamafote]


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
n°1582137
theredled
● REC
Posté le 03-07-2007 à 20:56:49  profilanswer
 

WiiDS a écrit :

Code :
  1. <?php
  2. switch($lol) {
  3.     case "xxx":
  4.         echo $b;
  5.         break;
  6.     default:
  7.         echo $a;
  8.         break;
  9. }
  10. ?>
 

Un peu mieux mais je préfère toujours mon petit if elseif, question de gouts toussa [:spamafote]


Tant que je dois pas passer derrière, pas de pb je suis tolérant [:cosmoschtroumpf] :o


Message édité par theredled le 03-07-2007 à 20:57:19

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1582140
iboll
Ainsi sont-ils ?
Posté le 03-07-2007 à 21:00:36  profilanswer
 

WiiDS a écrit :

http://www.monsite.com/index.php?tri=alpha
http://www.monsite.com/index.php?tri=alpha2
http://www.monsite.com/index.php?tri=modif
http://www.monsite.com/index.php?tri=modif2
 
Désolé, trompage, c'est pas ?ordre mais ?tri :o
 
Ca marchait pour l'ordre alphabétique car c'est automatiquement mis sur ce tri si aucun paramètre valide n'est passé ;)


 
 
Et ben dans ce cas, tout marche nickel, bravo et encore merci !!  ;)

n°1582157
WiiDS
20 titres en GC, 0 abandon, 0 DQ
Posté le 03-07-2007 à 22:04:06  profilanswer
 

iboll a écrit :

Et ben dans ce cas, tout marche nickel, bravo et encore merci !!  ;)


Au plaisir :jap:


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
n°1582194
The-Shadow
Développeur
T'as été voir dans ton profil?
Posté le 03-07-2007 à 23:46:56  profilanswer
 

WiiDS a écrit :

Code :
  1. <?php
  2. switch($lol) {
  3.     case "xxx":
  4.         echo $b;
  5.         break;
  6.     default:
  7.         echo $a;
  8.         break;
  9. }
  10. ?>
 

Un peu mieux mais je préfère toujours mon petit if elseif, question de gouts toussa [:spamafote]


Tiens c'est marrant, j'ai les mêmes gouts. :D
J'aime pas la syntaxe du switch et la tête que ça a.
J'ai d'autres manies, par exemple, j'aime pas écrire :
if ($toto == 'toto') $toto= 'tata';
Je préfère écrire :
if ($toto == 'toto') {
    $toto= 'tata';
}
Ca prend 3 lignes, mais je préfère.

 

Surement une manie à la con. :D

Message cité 2 fois
Message édité par The-Shadow le 03-07-2007 à 23:47:23
n°1582198
theredled
● REC
Posté le 03-07-2007 à 23:54:25  profilanswer
 

The-Shadow a écrit :

Tiens c'est marrant, j'ai les mêmes gouts. :D
J'aime pas la syntaxe du switch et la tête que ça a.
J'ai d'autres manies, par exemple, j'aime pas écrire :
if ($toto == 'toto') $toto= 'tata';
Je préfère écrire :
if ($toto == 'toto') {
    $toto= 'tata';
}
Ca prend 3 lignes, mais je préfère.
 
Surement une manie à la con. :D


Me dites pas que vous êtes aussi le genre de mec à écrire des trucs du genre "j'ai acheté des ".$truc."" [:le kneu]:o


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1582199
The-Shadow
Développeur
T'as été voir dans ton profil?
Posté le 03-07-2007 à 23:55:20  profilanswer
 

theredled a écrit :

Me dites pas que vous êtes aussi le genre de mec à écrire des trucs du genre "j'ai acheté des ".$truc."" [:le kneu]:o


non, "j'ai acheté des ",$truc; :o

n°1582200
WiiDS
20 titres en GC, 0 abandon, 0 DQ
Posté le 03-07-2007 à 23:56:06  profilanswer
 

The-Shadow a écrit :

Tiens c'est marrant, j'ai les mêmes gouts. :D
J'aime pas la syntaxe du switch et la tête que ça a.
J'ai d'autres manies, par exemple, j'aime pas écrire :
if ($toto == 'toto') $toto= 'tata';
Je préfère écrire :
if ($toto == 'toto') {
    $toto= 'tata';
}
Ca prend 3 lignes, mais je préfère.
 
Surement une manie à la con. :D


Ahhh enfin quelqu'un qui n'aime pas switch case :jap:


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
n°1582201
WiiDS
20 titres en GC, 0 abandon, 0 DQ
Posté le 03-07-2007 à 23:56:32  profilanswer
 

theredled a écrit :

Me dites pas que vous êtes aussi le genre de mec à écrire des trucs du genre "j'ai acheté des ".$truc."" [:le kneu]:o


echo 'j\'ai acheté des '.$trucs; [:napalm27]


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
n°1582202
theredled
● REC
Posté le 03-07-2007 à 23:58:37  profilanswer
 

ok :o
 
pour le truc des crochets, si c'est pour bien distinguer la condition de l'instruction, pourquoi ne pas écrire
if ($mdr)
   echo $lol;
?
 
Ou alors t'es juste un maniacodépressif des crochets :o


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1582204
theredled
● REC
Posté le 04-07-2007 à 00:00:29  profilanswer
 

WiiDS a écrit :

echo 'j\'ai acheté des '.$trucs; [:napalm27]


Alors ça, pareil, illisible, les chaines avec plein de slashes :o et me dis pas que t'as lu que c'était plus rapide, je te croirais :o


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1582205
The-Shadow
Développeur
T'as été voir dans ton profil?
Posté le 04-07-2007 à 00:00:58  profilanswer
 

WiiDS a écrit :

echo 'j\'ai acheté des '.$trucs; [:napalm27]


Faut mettre une virgule si tu veux de l'opti parfaite :o
 

theredled a écrit :

ok :o
 
pour le truc des crochets, si c'est pour bien distinguer la condition de l'instruction, pourquoi ne pas écrire
if ($mdr)
   echo $lol;
?
 
Ou alors t'es juste un maniacodépressif des crochets :o


C'est moins clair je trouve, mais attention, comme dis plus haut, c'est juste une question de gout, je ne pense pas que ça ait un impact quelquepart.  [:airforceone]  

n°1582206
theredled
● REC
Posté le 04-07-2007 à 00:03:43  profilanswer
 

The-Shadow a écrit :

C'est moins clair je trouve, mais attention, comme dis plus haut, c'est juste une question de gout, je ne pense pas que ça ait un impact quelquepart.  [:airforceone]


Perso je mets 3x moins de temps à lire un code avec 3x moins de lignes/mots, en plus tu as plus de choses sous les yeux en mm tps [:airforceone]

 

Après je sais pas, ya ptet des gens qui lisent plus vite un code avec que des if, des while, et des crochets et des anti-slashes partout, je dis pas :o


Message édité par theredled le 04-07-2007 à 00:05:30

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1582411
WiiDS
20 titres en GC, 0 abandon, 0 DQ
Posté le 04-07-2007 à 14:49:04  profilanswer
 

theredled a écrit :

Alors ça, pareil, illisible, les chaines avec plein de slashes :o et me dis pas que t'as lu que c'était plus rapide, je te croirais :o


 
Je sais parfaitement que vaut mieux utiliser " " dans ce cas mais depuis qu'on m'a dit que c'était plus rapide, le ' ' est devenu une manie :/
 

The-Shadow a écrit :

Faut mettre une virgule si tu veux de l'opti parfaite :o


On peut mettre echo 'J\'ai acheté ',$kilos,' kilos de ',$truc; ? :??:


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
n°1582421
theredled
● REC
Posté le 04-07-2007 à 14:57:49  profilanswer
 

WiiDS a écrit :

On peut mettre echo 'J\'ai acheté ',$kilos,' kilos de ',$truc; ? :??:


Yeah, tu gagnes facile 10 ns par page avec ça :o

 

edit : oh un avatar

Message cité 1 fois
Message édité par theredled le 04-07-2007 à 14:58:18

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1582520
WiiDS
20 titres en GC, 0 abandon, 0 DQ
Posté le 04-07-2007 à 16:42:32  profilanswer
 

theredled a écrit :

Yeah, tu gagnes facile 10 ns par page avec ça :o
 
edit : oh un avatar


[:cerveau lent]


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Edit sur index.php

 

Sujets relatifs
Edit : Script Test ping (encore)creer index
Récup URL complexe (index.php/#/mapage/)Listes en python : IndexError: list index out of range Hmmm
script edit[html] executer ou pas le fichier index.htm
Generer des fichiers index.htmlMysql - Compression de données texte / index fulltext ?
Eclipse : différence entre generate "Edit code" & "Editor code"[MySQL]Contrainte unicité = index
Plus de sujets relatifs à : Edit sur index.php


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR