Necesito ayuda con un problema en una herramienta que estoy desarrollando.Forzar la descarga desde un servidor externo y renombrar
Necesito descargar un archivo externo y cambiarle el nombre, pero sin usar readfile(), file_get_contents() o fread() (los archivos son demasiado grandes para leerlos en el servidor y descargarlos de nuevo en la PC de visitante).
he tratado primero con:
Código:
header("Location: http://www.example.com/example_download.zip");
Funciona para la descarga, pero no para el cambio de nombre example_download.zip.
Así que he tratado con readfile():
Código:
header("Content-Disposition: attachment; filename="example_download_2.zip"\n\n");
header("Content-Type: application/force-download");
readfile("http://www.example.com/example_download.zip");
exit;
Con el código anterior funciona bien, la descarga del archivo remoto por primera vez en el servidor, el cambio de nombre y después enviarlo a el visitante con el nuevo nombre, pero el uso de recursos de este proceso es muy alto, y también el uso del ancho de banda.
Así que estoy buscando una forma de generar una descarga forzada de un archivo externo, cambiarle el nombre sobre la marcha y generar una descarga con el nuevo nombre, pero descargando directamente desde la fuente. ¿Es posible?
Gracias de antemano Saludos
Si el cliente va a descargar directamente de la fuente, entonces no, no hay forma de darle un nuevo nombre. – drew010
http://stackoverflow.com/questions/541265/renaming-file-on-another-server-as-user-downloads-it-2-using-php – FeRtoll