Pregunta

Tengo un script php que proporciona un enlace a un archivo temporal que se crea con el script. Quiero que la persona pueda descargar el archivo, pero no quiero que el archivo permanezca en el servidor durante mucho tiempo. Me gustaría eliminar el archivo, digamos quizás después de 2 minutos. ¿Cómo se puede hacer esto?

¿Fue útil?

Solución

Puede eliminarlo justo después de la descarga. generar el contenido del archivo, luego cerrarlo y desvincularlo .

Editar : ejemplo

$fo = fopen($f, 'rb') ;
    $content = fread($fo, filesize($f)) ;
    fclose($fo) ;
}
// Stream the file to the client 
header("Content-Type: application/octet-stream"); 
header("Content-Length: " . strlen($archive)); 
header("Content-Disposition: attachment; filename=\"myfile.exe\""); 
echo $archive;
unlink($f);

Otros consejos

Configure un trabajo cron para ejecutar su script de limpieza cada pocos minutos. Puede usar la función filemtime () para ver cuándo fue un archivo creado y elimínelo si el archivo se considera "suficientemente viejo".

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top