[php] dir sorteren op filesize

Pagina: 1
Acties:
  • 51 views sinds 30-01-2008

  • Otacon
  • Registratie: September 2000
  • Laatst online: 07-07 15:33
Ik heb dus een scripje om een dir te laten listen, en gebruikt maakt van een array.
Maar ik wil dat deze gesorteerd wordt op de datum en niet op de naam.

Ik heb al 4uurtjes topic's door zitten lezen maar nix gevonden.

Wie helpt?

Verwijderd

Kijk eens bij usort

  • Otacon
  • Registratie: September 2000
  • Laatst online: 07-07 15:33
http://www.php.net/manual/en/function.usort.php

snap er weinig van, wie kan t ff voor kauwen, sorry maar ik ben niet zo goed als ik eruit zie :o

Verwijderd

Op maandag 25 maart 2002 00:11 schreef Otacon het volgende:
Maar ik wil dat deze gesorteerd wordt op de datum en niet op de naam.
Waarom dan in je topic op filesize :?

  • Otacon
  • Registratie: September 2000
  • Laatst online: 07-07 15:33
uhhhh, allebei eigenlijk :P , maar 1 van de 2 is ook goed

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 09-09 11:02
Op maandag 25 maart 2002 00:19 schreef Otacon het volgende:
http://www.php.net/manual/en/function.usort.php

snap er weinig van, wie kan t ff voor kauwen, sorry maar ik ben niet zo goed als ik eruit zie :o
Och, ik had je na je eerste bericht niet zo hoog ingeschat hoor. ;) Ik neem aan dat je een array met directorynamen hebt.
code:
1
2
3
4
5
6
7
function cmpdirs($a,$b)
{
  $sa=stat($a); $sb=stat($b);
  if($sa[9]==$sb[9]) return 0;
  return($sa[9]<$sb[9]?1:-1);  
}
usort($dirs,"cmpdirs");

Waarbij element 9 de modification date is, maar dit kan natuurlijk ook een van de andere elementen uit de stat structure zijn. Code is niet getest trouwens.

  • Otacon
  • Registratie: September 2000
  • Laatst online: 07-07 15:33
array met files en dirs maar het gaat om de files sorteren

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 09-09 11:02
Op maandag 25 maart 2002 00:43 schreef Otacon het volgende:
array met files en dirs maar het gaat om de files sorteren
Tja, het is op zich wel praktisch als je dat ook in je probleemstelling laat doorschemeren. Maar dat werkt verder hetzelfde. Ik neem aan dat je 't geprobeerd hebt en zo ja, is je probleem opgelost of gaat 't nog steeds mis?

  • Otacon
  • Registratie: September 2000
  • Laatst online: 07-07 15:33
ik heb nu dit (code van phantom trouwens, op het laatste stukje na). Maar dit werkt niet, en ik ben niet al te slim (8>
PHP:
1
<?// Variables, you don't want to change these$dir=".";$a=opendir($dir);// Loop to search for al the filenameswhile($b=readdir($a)) {  if(ereg("^\.",$b)) continue;  if(ereg("^\index.php",$b)) continue;  if (is_dir("$dir/$b")==true) {    // Get directorie names into an array    $directories_list[count($directories_list)] = $b;  }  else {    // Get file names into an array    $files_list[count($files_list)] = $b;  }}// Sort the files alphabeticlyfunction cmpdirs($a,$b){  $sa=stat($a); $sb=stat($b);  if($sa[9]==$sb[9]) return 0;  return($sa[9]<$sb[9]?1:-1);}usort($files_list,"cmpdirs");@sort($directories_list);?>

  • Otacon
  • Registratie: September 2000
  • Laatst online: 07-07 15:33
ik wil dus dat ik zoiets als resultaat krijg
code:
1
2
3
file1.bla     1kb
fil323.eih    3kb
filefgg.ff    12kb

  • CyberSnooP
  • Registratie: Augustus 2000
  • Laatst online: 08-09 20:35

CyberSnooP

^^^^ schrijft --->

Op maandag 25 maart 2002 00:52 schreef Otacon het volgende:
ik wil dus dat ik zoiets als resultaat krijg
Goh, dan hoef je dus alleen maar even die array weer te geven uit bovenstaande stukjes code. Beetje eigen inbreng kan geen kwaad toch?

|_____vakje______|


  • Otacon
  • Registratie: September 2000
  • Laatst online: 07-07 15:33
ja, maar ik ben een nix kunner, ik heb die code er al op 80 manieren ingeplettert maar t lukt me gewoon niet. als ik een fout melding krijg, dan kan ik t begrijpen wat ik fout doe, maar nix, dus... ik niet snappe

  • CyberSnooP
  • Registratie: Augustus 2000
  • Laatst online: 08-09 20:35

CyberSnooP

^^^^ schrijft --->

Op maandag 25 maart 2002 00:59 schreef Otacon het volgende:
ja, maar ik ben een nix kunner, ik heb die code er al op 80 manieren ingeplettert maar t lukt me gewoon niet. als ik een fout melding krijg, dan kan ik t begrijpen wat ik fout doe, maar nix, dus... ik niet snappe
Tsja, das uiteraard best vervelend enzo, maar niet iets waar wij je zonder meer mee kunnen helpen. Het is gewoon ondoenlijk en ook niet leuk om voor iedereen en alles standaard voorgebakken scriptjes te gaan zitten uitwerken tot in de specifieke details.

GoT is bedoeld om je hints te geven, mee te helpen denken met problemen, en desnoods stukjes code als hierboven te geven, maar daar houdt het op.

Probeer meer tutorials, ga aan de slag met simpelere scripts. Schrijf zelf alles vanaf de grond.. Teken eerst een stroomschematje op papier, slaap er een nachtje over, en vraag specifiek aan ons wat je niet lukt. Iig succes

|_____vakje______|


  • Otacon
  • Registratie: September 2000
  • Laatst online: 07-07 15:33
CyberSnooP en vooral Soultaker heel erg bedankt voor het helpen, en zo'n nachtje slapen helpt toch wel :z !
code:
1
2
3
4
5
6
7
8
9
10
11
scott@graphictype.com
22-Jun-2001 12:27 
 
Remember that arrays are numbered from 0, whereas this document page is
numbered from 1.

$s = stat($file); 
$bytes = $s[7];

*not* $s[8], as you might think from quickly glancing at the list of
elements that stat() returns.

Hier had ik gisteravond overheen gelezen |:(

Mijn dank is groot!

  • Otacon
  • Registratie: September 2000
  • Laatst online: 07-07 15:33
Het werkt, maar kan iemand me misschien uitleggen waar $a en $b in onderstaande code voor staat?
PHP:
1
<?function cmpdirs($a,$b){  $sa=stat($a);  $sb=stat($b);  if($sa[7]==$sb[7])     return 0;     return($sa[7]<$sb[7]?1:-1);}?>

  • Grum
  • Registratie: Juni 2001
  • Niet online
voor de $a en de $b die de functie meekrijgt ....

ik raad je aan om even wat tutors door te nemen :+

  • Otacon
  • Registratie: September 2000
  • Laatst online: 07-07 15:33
uhhh, maar uhhhhh

ik vraag m zo op
usort($files_list,"cmpdirs");

wat geeft die dan mee als $a en $b ???

2file-names in mijn geval?

ja, ik weet t, moet me s gaan verdiepen alleen ben veels te druk met m'n andere hobby (racen)

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

toch maar verdiepen ;)
we gaan echt niet alles voorkauwen
leren programmeren is veel zelf doen en bij echte problemen "ons" inschakelen

Doet iets met Cloud (MS/IBM)

Pagina: 1

Dit topic is gesloten.