Cita:
Iniciado por abimaelrc Eso lo logras más bien con un cron job.
Si, ya se que se puede metiendo una tarea en el servidor pero no me interesa hacerlo de forma periódica. Gracias de todas maneras por tu sugerencia!
Cita:
Iniciado por gandres Ufa... hoy estoy para errar las teclas:
Corrección:
donde dice
$modificado=filemtime('nombredeldirectorio);
debe decir:
$modificado=filemtime('nombredeldirectorio');
donde dice
$ahora=mjtime();
debe decir:
$ahora=mktime();
Para eliminar los archivos del directorio puedes hacerte un loop que lea que archivos hay en el directorio y borrarlos:
if ($handle = opendir('nombredeldirectorio')) {
while ($file = readdir($handle)) {
unlik $file;
}
}
else
echo 'No pude abrir el directorio';
Otra cosa, ten en cuenta los permisos que tienes sobre directorio y archivos.
Espero que te sirva
Lo he probado y no me funciona....
Al final lo que he hecho es esto:
Código PHP:
<?php
function vartime($filepath){
$filet=filemtime($filepath);
$actualt=time();
// define filetime
$yearf=date('Y',$filet);
$monthf=date('n',$filet);
$dayf=date('j',$filet);
// define actualtime
$yeara=date('Y',$actualt);
$montha=date('n',$actualt);
$daya=date('j',$actualt);
$t=(strtotime("$montha/$daya/$yeara")-strtotime("$monthf/$dayf/$yearf"))/60/60/24;
$final=floor($t);
return $final;
}
function delete_old_folders($dir){
if (is_dir($dir)){
$objects=scandir($dir);
foreach ($objects as $object){
if($object !="." && $object !=".." && (filetype($dir."/".$object)=="dir") && (vartime("$dir."/".$object")>1)){
rrmdir($dir."/".$object);
}
}
}
}
function rrmdir($dir) {
if (is_dir($dir)) {
$objects = scandir($dir);
foreach ($objects as $object) {
if ($object != "." && $object != ".." && (vartime("$dir/$object")>1)) {
if (filetype($dir."/".$object) == "dir") rrmdir($dir."/".$object); else unlink($dir."/".$object);
}
}
reset($objects);
rmdir($dir);
}
}
?>
Y llamarlo con:
Código PHP:
delete_old_folders('uploads')
Pero me sigue sin funcionar.
Es posibe que el comando filemtime no funcione para sacar los datos del tiempo de carpetas? Quizas solo pueda con archivos...
Me da este error:
Código:
Warning: filemtime() [function.filemtime]: stat failed for 0