.JPG files binnen 1 dag deleted
Alleen 60 mag ook ;)
Dat is uiteraard nul en geen een.
Het werkt niet ik heb het de in de index.php gezet de php file staat in dezelfde map. de 'selfdelete.php' linkt naar de map.
Wat nu?
Nope. De link is goed ik heb hem gecontroleerd, moet anders een absolute link ook voor de selfdelete.php?
Toevoeging op 06/09/2017 11:25:20:
Wacht wel een foutje van mij! haha
Over en sluiten maar. :P Het werkt dus?
Hij werkt al! Bedankt voor het mee denken!
$seconds = 168 * 60 * 60; Is dus 1 week?
Maar begint de selfdelete.php nu elke keer opnieuw tellen na opnieuw bezoeken van pagina want
de pagina ververst zich zelf na xx minuten
Ooh Perfect! Bedankt. Server probleempje..
Ja de vraag is onder de index.php bestand ververst het de hele pagina binnen 30 minuten..
Nu was de vraag wat doet de selfdelete.php die wij hebben gemaakt herstart deze ook elke keer of houdt deze de servertijd aan?
Met vriendelijke groet,
Perry S
Daarnaast is dit vanuit technisch ontwerp nogal raar: je include de uitvoer van een onderhoudsklus in je webpagina?
Dan zou dit potentieel je pagina kunnen breken als er ""The file $Filename is older than $expiretime minutes\n";" wordt weergegeven als er iets wordt verwijderd?
En dan heb je wellicht nog te maken met cache of andere perikelen in WordPress zelf?
Ik bedoel, we helpen je een eind op weg hoe je dit op een fatsoenlijke manier kunt doen (en een cronjob lijkt mij de way-to-go, tenzij WP hier zelf iets voor heeft) maar enig eigen initiatief is misschien ook wel handig...
En als je een pakket (zoals WP maar eigenlijk doet dat er niet eens toe) gebruikt is het handig om de spelregels van dat pakket te volgen. Hier dingen tegenaan metselen is zelden een strak plan.
EDIT: daarnaast is zo'n script een mogelijk gevaar voor de stabiliteit van je site. Als zo'n script meerdere keren wordt aangeroepen door kwaadwillenden dan kan je site mogelijk eenvoudig op zijn knieën worden gebracht. Eigenlijk wil je niet dat dit soort onderhoudsscripts publiekelijk (en herhaaldelijk) door jan en alleman aangeroepen kunnen worden. Dit is nog een reden om hier een cronjob voor te maken, en het script buiten de publieke webdirectory te zetten. Uhm, je wilt niet elke page-access deze knetterdure operatie(s) uitvoeren lijkt mij. Vooral als afbeeldingen een dag (of een week) dienen te blijven bestaan, dan is elke keer dat de webpagina wordt geladen nogal overkill?
Perry S op 06/09/2017 10:10:02:
$seconds = 0 * 0 * 60; // 1 minuut?
Dat is uiteraard nul en geen een.
Uiteraard! Reken het anders eens na op de calculator ;-)
- Ariën - op 06/09/2017 10:47:41:
Uiteraard! Reken het anders eens na op de calculator ;-)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$folder = '/home/vhosts/domein.nl/subdomains/beta/httpdocs/wp-content/uploads/uploaden/uploads';
$files = glob($folder . '*.jpg');
if (false !== $files && !empty($files)) {
$now = time();
$seconds = 60; // 1 minuut test
foreach ($files as $file) {
if (is_file($file)) {
if ($now - filemtime($file) >= $seconds) {
unlink($file);
}
}
}
}
?>
$folder = '/home/vhosts/domein.nl/subdomains/beta/httpdocs/wp-content/uploads/uploaden/uploads';
$files = glob($folder . '*.jpg');
if (false !== $files && !empty($files)) {
$now = time();
$seconds = 60; // 1 minuut test
foreach ($files as $file) {
if (is_file($file)) {
if ($now - filemtime($file) >= $seconds) {
unlink($file);
}
}
}
}
?>
Het werkt niet ik heb het de in de index.php gezet de php file staat in dezelfde map. de 'selfdelete.php' linkt naar de map.
Wat nu?
Je vergeet een slash aan het eind van je pad.
Oh dus een slash na uploads/
Inderdaad
- Ariën - op 06/09/2017 11:09:52:
Inderdaad
Nope. De link is goed ik heb hem gecontroleerd, moet anders een absolute link ook voor de selfdelete.php?
Toevoeging op 06/09/2017 11:25:20:
- Ariën - op 06/09/2017 11:09:52:
Inderdaad
Wacht wel een foutje van mij! haha
Over en sluiten maar. :P
Gewijzigd op 06/09/2017 11:31:01 door - Ariën -
- Ariën - op 06/09/2017 11:30:29:
Nee, dat is niet nodig. Zolang die selfdelete.php maar in de 'working directory' staat, waar je je in bevindt. Anders helpt een / ervoor ook, zodat hij vanaf de webroot kijkt.
Ik zou ook even controleren of je foutmeldingen aan hebt staan.
Ik zou ook even controleren of je foutmeldingen aan hebt staan.
Hij werkt al! Bedankt voor het mee denken!
$seconds = 168 * 60 * 60; Is dus 1 week?
Een week is inderdaad 168 uur, maar voor het gemak kan je ook 7*24*60*60 doen.
- Ariën - op 06/09/2017 11:37:42:
Een week is inderdaad 168 uur, maar voor het gemak kan je ook 7*24*60*60 doen.
Maar begint de selfdelete.php nu elke keer opnieuw tellen na opnieuw bezoeken van pagina want
de pagina ververst zich zelf na xx minuten
Gewijzigd op 06/09/2017 12:03:30 door Perry S
Nee, want het werkt gewoon op servertijd.
Ben van Velzen op 06/09/2017 12:05:22:
Nee, want het werkt gewoon op servertijd.
Ooh Perfect! Bedankt.
Gewijzigd op 19/12/2017 18:56:46 door Perry S
En nu? Heeft dit nog betrekking op de vraagstelling in dit topic? Anders kan je een nieuw topic openen.
- Ariën - op 19/12/2017 19:15:07:
En nu? Heeft dit nog betrekking op de vraagstelling in dit topic? Anders kan je een nieuw topic openen.
Ja de vraag is onder de index.php bestand ververst het de hele pagina binnen 30 minuten..
Nu was de vraag wat doet de selfdelete.php die wij hebben gemaakt herstart deze ook elke keer of houdt deze de servertijd aan?
Met vriendelijke groet,
Perry S
Daarnaast is dit vanuit technisch ontwerp nogal raar: je include de uitvoer van een onderhoudsklus in je webpagina?
Dan zou dit potentieel je pagina kunnen breken als er ""The file $Filename is older than $expiretime minutes\n";" wordt weergegeven als er iets wordt verwijderd?
En dan heb je wellicht nog te maken met cache of andere perikelen in WordPress zelf?
Ik bedoel, we helpen je een eind op weg hoe je dit op een fatsoenlijke manier kunt doen (en een cronjob lijkt mij de way-to-go, tenzij WP hier zelf iets voor heeft) maar enig eigen initiatief is misschien ook wel handig...
En als je een pakket (zoals WP maar eigenlijk doet dat er niet eens toe) gebruikt is het handig om de spelregels van dat pakket te volgen. Hier dingen tegenaan metselen is zelden een strak plan.
EDIT: daarnaast is zo'n script een mogelijk gevaar voor de stabiliteit van je site. Als zo'n script meerdere keren wordt aangeroepen door kwaadwillenden dan kan je site mogelijk eenvoudig op zijn knieën worden gebracht. Eigenlijk wil je niet dat dit soort onderhoudsscripts publiekelijk (en herhaaldelijk) door jan en alleman aangeroepen kunnen worden. Dit is nog een reden om hier een cronjob voor te maken, en het script buiten de publieke webdirectory te zetten.
Gewijzigd op 21/12/2017 00:14:59 door Thomas van den Heuvel