Holas.
Existe una manera alternativa. Debes tener cuidado porque con archivos grandes puede consumir recursos en el servidor. Hay que forzar al navegador para que se baje el archivo, eso se hace con unas cabeceras http determinadas. He creado un pequeño script de prueba. Debes llamarlo desde flash así:
nombredelarchivophp.php?archivo=mipdf.pdf. El archivo pdf y el php deben estar en el mismo directorio. Espero que te sirva.
Código :
<?php
//
/// Script que fuerza la descarga de un archivo - Javier Aranda 2006
///(¡atención! puede consumir recursos en tamaños de archivo grande)
//
//Recibimos por el metodo GET el nombre del archivo.
//Es conveniente proteger el acceso a ciertos directorio o evitando el uso de puntos y barras.
$archivo = $_GET['archivo'];
//Enviamos las cabeceras http, que fuerzan la descarga de un archivo
if(isset($HTTP_SERVER_VARS['HTTP_USER_AGENT']) and strpos($HTTP_SERVER_VARS['HTTP_USER_AGENT'],'MSIE'))
{
Header('Content-Type: application/force-download');
}
else
{
Header('Content-Type: application/octet-stream');
}
//Calculamos el tamaño del archivo
$tamano = filesize($archivo);
//Envio cabecera con el tamaño del archivo
Header('Content-Length: '.$tamano);
//Envio cabecera con el nombre del archivo
Header('Content-disposition: attachment; filename='.$archivo);
header('Pragma: no-cache'); //Cabecera anti-cache
header('Expires: 0'); //Cabecera que define la duracion
//Esta funcion lee un archivo y lo vuelca a la salida (ver manual PHP)
readfile($archivo);
?>
Saludos.