Загрузка Файлов в PHP [закрыт]


у Меня есть приложение в PHP, и URL-адрес архив. Я хотел бы, когда пользователь нажал на любую кнопку, сделать так, чтобы браузер снял действие для скачивания или открытия окна " параметры загрузки этого файла (в случае Firefox).

файл может быть ЛЮБОГО РАСШИРЕНИЯ, как исходный код, файл, сжатый или мультимедиа.

Примечание: Загрузка в смысле, "сервер" - > пользователь.

Author: Sveen, 2016-02-19

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