hallo, ik heb een upload script gemaakt dat images upload naar de database, en ook de datum wordt vermeld.( in deze volgorde: 2006, 8, 27 ).
Ik wil graag een script maken dat de datum van alle file checkt als er iets wrdt geupload, en dan moet alles wat x dagenouder is current date verwijderd worden.

Mijn vraag is, hoe kan ik zorgen dat het script weet hoeveel dagen ouder dat file is dan de current date.

En hoe hij dan alle files kan verwijderen, die die ouder zijn dan x aantal dagen.
Als je je datum in een DATE veld opslaat (2006-08-27) dan kan je deze verwijderen met:

mysql_query("DELETE FROM tabel WHERE datum < DATE_SUB(NOW(), INTERVAL 10 MINUTE)");

mogelijkheden:
SECOND, MINUTE, DAY, MONTH, YEAR
Nu word alles naar 10 minuten dus verwijderen.
kan het zijn dat hij dan pas word verwijderd als er iemand op die pagina komt?
Ja, dan pas wordt het script uitgevoerd. Anders moet je een scriptje schrijven met de php cgi binary (als die geinstalleerd is) en die met crontab elke dag/uur/minuut/whenever uitvoeren
en hoe doe je dat dan precies? een tut ofzo hierover?:D
okej bedankt dat ga ik wel even proberen. :)
het lukt mij niet om hem te laten werken. dit is mijn code:

include '/config.php';
include 'l/opendb.php';

$query = "INSERT INTO upload (name, size, type, content, names, txtdes, date) ".
"VALUES ('$fileName', '$fileSize', '$fileType', '$content', '$filenames', '$filedes', '$date')";

mysql_query($query) or die('Error, query failed');
include '/closedb.php';

waar zou ik deze code:
mysql_query("DELETE FROM tabel WHERE datum < DATE_SUB(NOW(), INTERVAL 10 DAY)");

moeten plakken?
op een pagina die veel bezocht word,
die code check of er bestanden zijn die er te lang staan. Dus dat moet zo vaak mogelijk neem ik aan.
Ik zou hem in je config zetten, want die word altijd opgevraagd neem ik aan.

Verder vergeet je nog om het bestand zelf te verwijderen, je verwijderd nu alleen de gegevens uit de database ...

waar zou ik deze code:
mysql_query("DELETE FROM tabel WHERE datum < DATE_SUB(NOW(), INTERVAL 10 DAY)");

moeten plakken?

Het maakt niet uit waar je die code plakt. In iedergeval wel onder de Database connectie. je moet 'tabel' en 'datum' wel even voor jezelf veranderen. tabel zou upload worden en datum zou date moeten zijn, denk ik zo aan jou script te zien.
@Koen, hoe kan ik dan zorgen dat het file wordt verwijderd?
@koen, script werkt nu goed, en de files worden ook verwijderd.
Hoe kan ik zorgen dat hij dit script alleen uitvoert als er minimaal 500 images in zitten?

Reageren