Datum en tijd naar Nederlands bij sorteren
Ik heb een leuk scriptje gevonden om files
uit een dir. te sorten op plaatsing/wijzigingsvolgorde.
Ik heb al wat geprobeerd om de tekst en de juiste datum
in het Nederlands te zetten met:
setlocale(LC_TIME, "nl_NL"); en met strftime("d F Y");
Maar zie niks wijzigen. Waarschijnlijk verkeerde plek.
Hier vind je een (tijdelijke) link:
https://www.pctraverse.nl/list_date.php
uit een dir. te sorten op plaatsing/wijzigingsvolgorde.
Ik heb al wat geprobeerd om de tekst en de juiste datum
in het Nederlands te zetten met:
setlocale(LC_TIME, "nl_NL"); en met strftime("d F Y");
Maar zie niks wijzigen. Waarschijnlijk verkeerde plek.
Code (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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<?php
function Sort_Directory_Files_By_Last_Modified($dir, $sort_type = 'descending', $date_format = "d F Y H:i:s.")
{
$files = scandir($dir);
$array = array();
foreach($files as $file)
{
if($file != '.' && $file != '..')
{
$now = time();
$last_modified = filemtime($dir.$file);
$time_passed_array = array();
$diff = $now - $last_modified;
$days = floor($diff / (3600 * 24));
if($days)
{
$time_passed_array['days'] = $days;
}
$diff = $diff - ($days * 3600 * 24);
$hours = floor($diff / 3600);
if($hours)
{
$time_passed_array['hours'] = $hours;
}
$diff = $diff - (3600 * $hours);
$minutes = floor($diff / 60);
if($minutes)
{
$time_passed_array['minutes'] = $minutes;
}
$seconds = $diff - ($minutes * 60);
$time_passed_array['seconds'] = $seconds;
$array[] = array('file' => $file,
'timestamp' => $last_modified,
'date' => date ($date_format, $last_modified),
'time_passed' => $time_passed_array);
}
}
usort($array, create_function('$a, $b', 'return strcmp($a["timestamp"], $b["timestamp"]);'));
if($sort_type == 'descending')
{
krsort($array);
}
return array($array, $sort_type);
}
$dir = $_SERVER['DOCUMENT_ROOT'].'uploaded_files/activiteit/jpg/';
$array = Sort_Directory_Files_By_Last_Modified($dir);
// Info Array
$info = $array[0];
// Sort Type
$sort_type = $array[1];
echo '<h3>'.$dir.'</h3>';
echo 'Order by: Last Modified ('.$sort_type.')<br />';
foreach($info as $key => $detail)
{
echo '<h4 style="color: #3B4F9F;">'.$detail['file'].'</h4>';
echo 'Laatste wijziging: '.$detail['date'].'<br />';
$time_passed = '';
foreach($detail['time_passed'] as $type => $value)
{
$time_passed .= $value." ".$type.", ";
}
$time_passed = "<span style='color: #377420;'>".rtrim($time_passed, ", ")."</span> ago";
echo $time_passed."nn";
}
?>
function Sort_Directory_Files_By_Last_Modified($dir, $sort_type = 'descending', $date_format = "d F Y H:i:s.")
{
$files = scandir($dir);
$array = array();
foreach($files as $file)
{
if($file != '.' && $file != '..')
{
$now = time();
$last_modified = filemtime($dir.$file);
$time_passed_array = array();
$diff = $now - $last_modified;
$days = floor($diff / (3600 * 24));
if($days)
{
$time_passed_array['days'] = $days;
}
$diff = $diff - ($days * 3600 * 24);
$hours = floor($diff / 3600);
if($hours)
{
$time_passed_array['hours'] = $hours;
}
$diff = $diff - (3600 * $hours);
$minutes = floor($diff / 60);
if($minutes)
{
$time_passed_array['minutes'] = $minutes;
}
$seconds = $diff - ($minutes * 60);
$time_passed_array['seconds'] = $seconds;
$array[] = array('file' => $file,
'timestamp' => $last_modified,
'date' => date ($date_format, $last_modified),
'time_passed' => $time_passed_array);
}
}
usort($array, create_function('$a, $b', 'return strcmp($a["timestamp"], $b["timestamp"]);'));
if($sort_type == 'descending')
{
krsort($array);
}
return array($array, $sort_type);
}
$dir = $_SERVER['DOCUMENT_ROOT'].'uploaded_files/activiteit/jpg/';
$array = Sort_Directory_Files_By_Last_Modified($dir);
// Info Array
$info = $array[0];
// Sort Type
$sort_type = $array[1];
echo '<h3>'.$dir.'</h3>';
echo 'Order by: Last Modified ('.$sort_type.')<br />';
foreach($info as $key => $detail)
{
echo '<h4 style="color: #3B4F9F;">'.$detail['file'].'</h4>';
echo 'Laatste wijziging: '.$detail['date'].'<br />';
$time_passed = '';
foreach($detail['time_passed'] as $type => $value)
{
$time_passed .= $value." ".$type.", ";
}
$time_passed = "<span style='color: #377420;'>".rtrim($time_passed, ", ")."</span> ago";
echo $time_passed."nn";
}
?>
Hier vind je een (tijdelijke) link:
https://www.pctraverse.nl/list_date.php
Edit:
Ik heb code-tags geplaatst. Gelieve dit in het vervolg zelf toe te voegen aan je bericht.
Zie ook: Veel gestelde vragen: Welke UBB-codes kan ik gebruiken.
Zie ook: Veel gestelde vragen: Welke UBB-codes kan ik gebruiken.
Gewijzigd op 08/01/2018 08:57:58 door - Ariën -
Maar ik zie toch geen strftime()-functie terugkeren in je code. Dus het is niet verwonderlijk. ;-)
Let ook op dat de setting "nl_NL" afhankelijk is van je OS.
Let ook op dat de setting "nl_NL" afhankelijk is van je OS.
Gewijzigd op 08/01/2018 08:59:14 door - Ariën -
Ik heb geprobeerd de strftime()-functie te plaatsen.
Maar gaf telkens 'kan pagina niet openen'.
Vandaar dat ik het heb weggehaald ivm de link.
Maar neem aan dat ik de date moet weghalen en daar de strftime voor in de plek moet zetten.
Kun je aub een voorbeeld geven..
Maar gaf telkens 'kan pagina niet openen'.
Vandaar dat ik het heb weggehaald ivm de link.
Maar neem aan dat ik de date moet weghalen en daar de strftime voor in de plek moet zetten.
Kun je aub een voorbeeld geven..
Je moet de date-functie inderdaad vervangen door strftime.
Met als format in je $date_format-argument :
%d %B %Y %H:%M:%S
Met als format in je $date_format-argument :
%d %B %Y %H:%M:%S
Ik heb het nu zo gewijzigd:
Maar er verandert niks.
De verstreken tijd blijft wel kloppen.
Code (php)
1
2
3
4
5
2
3
4
5
function Sort_Directory_Files_By_Last_Modified($dir, $sort_type = 'descending', $date_format = "%d %B %Y %H:%M:%S")
.
.
.
'date' => strftime($date_format, $last_modified),
.
.
.
'date' => strftime($date_format, $last_modified),
Maar er verandert niks.
De verstreken tijd blijft wel kloppen.
Dan zal de locale-setting niet kloppen, met wat je OS gebruikt.
Om welke gaat het?
Om welke gaat het?
Gewijzigd op 08/01/2018 17:33:03 door - Ariën -
Op gedeelde server:
Linux cloudblonde.managedomain.nl 3.16.0-4-amd64 #1 SMP Debian 3.16.43-2 (2017-04-30) x86_64
Linux cloudblonde.managedomain.nl 3.16.0-4-amd64 #1 SMP Debian 3.16.43-2 (2017-04-30) x86_64
Mail je hosting eens of ze de Nederlandse locale kunnen toevoegen.
De hosting had een afwijkende locale voor het Nederlands.
Ik heb het nu opgelost.
Bovenaan:
En voor de verstreken tijd heb ik dit gebruikt.
Maar is misschien wel andere mogelijkheid?
In principe blijven bestanden ook maar 2 weken bestaan.
Ik heb het nu opgelost.
Bovenaan:
En voor de verstreken tijd heb ik dit gebruikt.
Maar is misschien wel andere mogelijkheid?
In principe blijven bestanden ook maar 2 weken bestaan.




