Buenas de nuevo!
He realizado el script que necesitaba y lo dejo aqui por si alguien puede encontrarse en busca de algo similar.
Lo que hago es crear un pdf a partir de datos obtenidos de la base de datos, utilizando la libreria
FPDF.
Le doy al pdf el nombre de "Favoritos-".$fecha_actual.".pdf" (Ej. "
Favoritos-02-10-2012.pdf").
Luego con la siguiente funcion chequeo que no exista un archivo con ese nombre. Si existe, le agrego el sufijo "_".$i" (Ej. "Favoritos-02-10-2012
_2.pdf"):
Código:
// FUNCION PARA CHECKEAR SI EL NOMBRE DEL PDF EXISTE
$fecha = date("d-m-Y");
$filename_pdf = "Favoritos-".$fecha.".pdf";
$i = 1;
while (file_exists("pdf/".$filename_pdf)):
$filename_pdf = "Favoritos-".$fecha."_".$i.".pdf";
$i++;
endwhile;
Exporto el pdf con FPDF y le digo si quiero que se vea en el navegador, o bien descargado:
Código:
// EXPORTAMOS EL DOCUMENTO
$pdf->Output("pdf/".$filename_pdf, 'F');
// PARA PREGUNTAR EN QUE CARPETA DESCARGAR
header('Content-disposition: attachment; filename=pdf/'.$filename_pdf);
// PARA CARGAR DIRECTAMENTE EN EL NAVEGADOR
//header('Content-type: application/pdf');
// LEEMOS EL DOCUMENTO PDF
readfile('pdf/'.$filename_pdf);
Para finalizar, con el objetivo de que no se acumule una infinidad de pdf creados por usuarios dentro del servidor, utilizo una funcion para borrar aquellos más antiguos a 5 minutos (Si 5 minutos...... bien limpia la carpeta).
Código:
// ARCHIVOS ANTIGUOS A 5 MINUTOS SERAN BORRADOS
// NOMBRE DE LA CARPETA EN CUESTION
$DIR = 'pdf/';
if ($handle = opendir($DIR)) {
// RECORREMOS UNA Y OTRA VEZ EL DIRECTORIO
while (false !== ($file = readdir($handle))) {
if ( filemtime($DIR.$file) <= time()-60*5 ) { // AQUI ESTABLECEMOS EL TIEMPO: 60*5 (DURACION DE UN MINUTO EN SEGS * CANTIDAD DE MINUTOS
unlink($DIR.$file);
}
}
closedir($handle);
}
Espero sirva! saludos y gracias MayLess por tu ayuda!