Hallo,
Ik wil een directory uitlezen en vervolgens de lijst sorteren op lastmodified time. Daarvoor lijkt filemtime het meest geschikt.
Het onderstaande zelf aangepaste script dat ik gebruik werkte wel met 'rsort' maar bij maandovergangen ging dat dan mis omdat de filenamen deels bestaan uit een dagnummer (bv. pwhi0100.pdf, pwhi3000.pdf (waarbij in dit geval 30 slaat op de 30e v/d maand en 01 op de 1e v/d maand)).
Het werkende script:
Vervolgens wil ik dus gaan sorteren door de lastmodified datum/tijd onderling te vergelijken en vond via google een script dat ik op het bovenstaande wilde toepassen, maar waar ik dus niet uitkom.......:
Wie kan/wil mij helpen!
Groeten,
John
Ik wil een directory uitlezen en vervolgens de lijst sorteren op lastmodified time. Daarvoor lijkt filemtime het meest geschikt.
Het onderstaande zelf aangepaste script dat ik gebruik werkte wel met 'rsort' maar bij maandovergangen ging dat dan mis omdat de filenamen deels bestaan uit een dagnummer (bv. pwhi0100.pdf, pwhi3000.pdf (waarbij in dit geval 30 slaat op de 30e v/d maand en 01 op de 1e v/d maand)).
Het werkende script:
PHP:
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
38
39
40
41
42
43
44
45
46
47
48
| <?php $itemnr = 0; $productname = 'PWHI'; $listname = 'TEST'; $url_base = 'http://www.mijndomein.nl/data/printoutput/'; $slash = '/'; $url = $url_base.$productname.$slash; $form_linkname = $productname; $formname = 'form_'.$productname; $dir = opendir("/webdata/htdocs/data/printoutput/".$productname.$slash); function RemoveExtension($strName) { $ext = strrchr($strName, '_'.$productname.'.'); if($ext !== false) { $strName = substr($strName, 0, -strlen($ext)); } return $strName; } while (false !== ($file = readdir($dir))) { if (($file !== ".") && ($file !== "..")) { list($filename, $ext) = explode(".", $file); list($main, $sub, $include) = explode("/", $PHP_SELF); if ($ext <> "php") { $lijst[$itemnr] = RemoveExtension($file); $itemnr++; } } } rsort($lijst); print "<form class=form_index name=\"$formname\"> <select class=index name=$form_linkname onChange=parent.printoutput.location=document.$formname.$form_linkname.options[document.$formname.$form_linkname.selectedIndex].value>"; print "<option value=\printoutput.html>$listname</option>"; for($i=0;$i<sizeof($lijst);$i++) { print "<option value=\"$url".$lijst[$i]."_".$productname.".".$ext."\">".$lijst[$i]."</option>"; } print '</select> </form>'; ?> |
Vervolgens wil ik dus gaan sorteren door de lastmodified datum/tijd onderling te vergelijken en vond via google een script dat ik op het bovenstaande wilde toepassen, maar waar ik dus niet uitkom.......:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| $dirpath = '../dunst/'; $dir = opendir($dirpath); while (false !== ($file = readdir($dir))) { $localpath = $dirpath.$file; if (is_file($localpath)) { $key = filemtime($localpath); $files_by_date[$key] = $file; $files_by_name[] = $file; } } ksort($files_by_date); foreach ($files_by_date as $file) echo $file.'<br />'; |
Wie kan/wil mij helpen!
Groeten,
John
[ Voor 12% gewijzigd door crisp op 22-05-2006 08:40 ]