Ik wil graag een bestand laten verlopen na een bepaalde datum. Een soort houdbaarheidsdatum. Ik geef een houdbaarheidsdatum op en vergelijk deze met de huidige datum. Wanneer houdbaarheid verlopen is, dan moet er een die() komen. Hiervoor heb ik volgende bedacht:
Dit werkt dus helaas voor geen meter. Wanneer ik bijvoorbeeld 16-01-2030 invul, krijg ik toch een die() message. De 16 is namelijk kleiner en het jaar wordt compleet genegeerd. Uit een simpele zoekactie met de got search kwam de functie mktime() naarvoren als de oplossing. Na het lezen van de uitleg op php.net kwam ik uit op het volgende resultaat:
Resultaat helaas weer verkeerd. Ik krijg de melding 'oud bestand' niet wanneer ik bijv een datum invoer van 1990. Toch ben ik overtuigd dat dit de oplossing zou moeten zijn. Wat doe ik fout met het uitvoeren van deze functie of moet ik een andere oplossing zoeken?
PHP:
1
2
3
4
5
6
7
8
| <?php $woei = date ('d-m-Y'); $test = '18-01-1985'; if ( $woei <= $test ) { die ('bestand is niet meer geldig'); } ?> |
Dit werkt dus helaas voor geen meter. Wanneer ik bijvoorbeeld 16-01-2030 invul, krijg ik toch een die() message. De 16 is namelijk kleiner en het jaar wordt compleet genegeerd. Uit een simpele zoekactie met de got search kwam de functie mktime() naarvoren als de oplossing. Na het lezen van de uitleg op php.net kwam ik uit op het volgende resultaat:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| <?php $mijn_day = '01'; $mijn_month = '01'; $mijn_year = '2001'; $mijn_datum = mktime(0,0,0,$mijn_day,$mijn_month,$mijn_year); $dateday = date ('d'); $datemonth = date ('m'); $dateyear = date ('Y'); $date_today = mktime(0,0,0,$dateday,$datemonth,$dateyear); $difference = $date_today - $mijn_datum; if ( $difference <= '0' ) { die ('oud bestand'); } ?> |
Resultaat helaas weer verkeerd. Ik krijg de melding 'oud bestand' niet wanneer ik bijv een datum invoer van 1990. Toch ben ik overtuigd dat dit de oplossing zou moeten zijn. Wat doe ik fout met het uitvoeren van deze functie of moet ik een andere oplossing zoeken?