Quiero requerir que se descargue un archivo cuando el usuario visite una página web con PHP. Creo que tiene algo que ver con file_get_contents
, pero no estoy seguro de cómo ejecutarlo.
$url = "http://example.com/go.exe";
Después de descargar un archivo con header(location)
no se redirige a otra página. Simplemente se detiene.
Lea la documentación sobre la función PHP integrada readfile
$file_url = 'http://www.myremoteserver.com/file.exe';
header('Content-Type: application/octet-stream');
header("Content-Transfer-Encoding: Binary");
header("Content-disposition: attachment; filename=\"" . basename($file_url) . "\"");
readfile($file_url); // do the double-download-dance (dirty but worky)
También asegúrese de añadir el tipo de contenido adecuado basado en su archivo de aplicación/zip, aplicación/pdf, etc. - pero sólo si no quiere activar el diálogo de guardar como.
header("Content-Type: application/octet-stream");
header("Content-Transfer-Encoding: Binary");
header("Content-disposition: attachment; filename=\"file.exe\"");
echo readfile($url);
es correcto
o mejor uno para archivos de tipo exe.
header("Location: $url");
<?php
$file = "http://example.com/go.exe";
header("Content-Description: File Transfer");
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"". basename($file) ."\"");
readfile ($file);
exit();
?>
O, cuando el archivo no se puede abrir con el navegador, se puede utilizar simplemente la cabecera Location
:
<?php header("Location: http://example.com/go.exe"); ?>