Загрузка Файлов в PHP [закрыт]
у Меня есть приложение в PHP, и URL-адрес архив. Я хотел бы, когда пользователь нажал на любую кнопку, сделать так, чтобы браузер снял действие для скачивания или открытия окна " параметры загрузки этого файла (в случае Firefox).
файл может быть ЛЮБОГО РАСШИРЕНИЯ, как исходный код, файл, сжатый или мультимедиа.
Примечание: Загрузка в смысле, "сервер" - > пользователь.
4
1 answers
Если вы просто хотите загрузить уже существующий файл, просто поместите атрибут загрузки в тег a:
<a href="caminho-ate-o-arquivo.txt" download>Clique aqui para fazer o download</a>
, Если вы хотите, что загрузка будет производиться в момент загрузки страницы, просто сделать это:
<?php
// Define o tempo máximo de execução em 0 para as conexões lentas
set_time_limit(0);
// Arqui você faz as validações e/ou pega os dados do banco de dados
$aquivoNome = 'imagem.jpg'; // nome do arquivo que será enviado p/ download
$arquivoLocal = '/pasta/do/arquivo/'.$aquivoNome; // caminho absoluto do arquivo
// Verifica se o arquivo não existe
if (!file_exists($arquivoLocal)) {
// Exiba uma mensagem de erro caso ele não exista
exit;
}
// Aqui você pode aumentar o contador de downloads
// Definimos o novo nome do arquivo
$novoNome = 'imagem_nova.jpg';
// Configuramos os headers que serão enviados para o browser
header('Content-Description: File Transfer');
header('Content-Disposition: attachment; filename="'.$novoNome.'"');
header('Content-Type: application/octet-stream');
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . filesize($aquivoNome));
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Expires: 0');
// Envia o arquivo para o cliente
readfile($aquivoNome);
?>
12
Author: Adriano de Azevedo, 2016-02-19 20:31:48