con - descargar archivos php y jquery
php-¿Cómo forzar la descarga de un archivo? (5)
Podrías probar algo como esto:
$file_name = ''file.avi'';
$file_url = ''http://www.myremoteserver.com/'' . $file_name;
header(''Content-Type: application/octet-stream'');
header("Content-Transfer-Encoding: Binary");
header("Content-disposition: attachment; filename=/"".$file_name."/"");
readfile($file_url);
exit;
Acabo de probarlo y funciona para mí.
Tenga en cuenta que para que el readfile
de lectura pueda leer una URL remota, debe tener sus fopen_wrappers
habilitados.
Estoy buscando agregar una función "Descargar este archivo" debajo de cada video en uno de mis sitios. Necesito forzar al usuario a descargar el archivo, en lugar de simplemente vincularlo, ya que a veces comienza a reproducir un archivo en el navegador. El problema es que los archivos de video se almacenan en un servidor separado.
De cualquier forma, puedo forzar la descarga en PHP?
Prueba esto:
<?php
$FileName = ''/var/ww/file.txt'';
header(''Content-disposition: attachment; filename="''.$FileName.''"'');
readfile($FileName);
La clave es el header()
. Debe enviar el encabezado junto con la descarga y forzará el cuadro de diálogo "Guardar archivo" en el navegador del usuario.
<?php
$FileName = ''/var/ww/file.txt'';
header(''Content-disposition: attachment; filename="''.$FileName.''"'');
readfile($FileName);
usando este código ¿Es posible guardar el nombre del archivo a lo que desea? por ejemplo, tiene url: http://remoteserver.com/file.mp3 en lugar de "file.mp3" puede usar este script para descargar el archivo como "newname.mp3"
El archivo download.php probado es
function _Download($f_location, $f_name){
$file = uniqid() . ''.pdf'';
file_put_contents($file,file_get_contents($f_location));
header(''Content-Description: File Transfer'');
header(''Content-Type: application/octet-stream'');
header(''Content-Length: '' . filesize($file));
header(''Content-Disposition: attachment; filename='' . basename($f_name));
readfile($file);
}
_Download($_GET[''file''], "file.pdf");
y el enlace para descargar es
<a href="download.php?file=http://url/file.pdf"> Descargar </a>
<?php
$file_name = ''video.flv'';
$file_url = ''http://www.myserver.com/secretfilename.flv'';
header(''Content-Type: application/octet-stream'');
header("Content-Transfer-Encoding: Binary");
header("Content-disposition: attachment; filename=/"".$file_name."/"");
echo file_get_contents($file_url);
die;
?>