Verifique os links de download
Foi mencionado anteriormente que fecho eclair e exe arquivos download automaticamente, sem usar o script php. Primeiro, crie um arquivo HTML com o seguinte código. Aqui, os quatro elementos de âncora são definidos para baixar os quatro tipos de arquivos. Esses tipos de arquivos incluem arquivos de texto, zip, pdf e jpg.
Download.html
Saída
A seguinte caixa de diálogo parecerá baixar o arquivo depois de clicar no link do arquivo zip. O usuário pode fazer o download do arquivo ou abrir o arquivo no gerenciador de arquivos.
Se você clicar no arquivo de imagem, a imagem será aberta automaticamente no navegador, conforme mostrado na seguinte saída. Você deve salvar o arquivo para fazer uma cópia do arquivo de imagem na unidade local. Da mesma maneira, quando você clica em PDF e links de arquivo de texto, o conteúdo do arquivo será aberto no navegador sem baixar o arquivo. A solução para esse problema é fazer o download do arquivo com força usando o PHP integrado readfile () função.
Baixe o arquivo usando a função readfile ()
O readfile () A função é usada no script PHP para baixar forçosamente qualquer arquivo do local atual ou o arquivo com o caminho do arquivo. A sintaxe desta função é dada abaixo.
Sintaxe
int readfile (string $ filename [, bool $ use_include_path = false [, recurso $ context]]))
Esta função pode levar três argumentos. O primeiro argumento é obrigatório e os outros dois argumentos são opcionais. O primeiro argumento, $ nome do arquivo, armazena o nome do arquivo ou nome do arquivo com o caminho que vai baixar. O valor padrão do segundo parâmetro, $ use_include_path, é falso e será definido como true se o nome do arquivo com o caminho for usado no primeiro argumento. O terceiro argumento, $ context, é usado para indicar o recurso de fluxo de contexto. Esta função retorna o número de bytes lidos do arquivo mencionado no primeiro argumento. Os usos desta função são mostrados nos dois exemplos a seguir.
Exemplo 1: Faça o download do arquivo com o nome do arquivo
Neste exemplo, criaremos um arquivo HTML com o seguinte código, onde o nome do arquivo será passado como um parâmetro do URL nomeado caminho, e o valor deste parâmetro será passado para o arquivo php nomeado download.php.
Download2.html
Criaremos o arquivo php com o seguinte código para baixar o arquivo à força. Aqui o isset () a função é usada para verificar se o $ _Get ['caminho'] é definido. Se a variável for definida, o o arquivo existe() A função é usada para verificar se o arquivo existe no servidor. Em seguida, o cabeçalho() A função é usada para definir as informações necessárias do cabeçalho antes de usar o readfile () função. O nome de base () A função é usada para recuperar o nome do arquivo e o tamanho do arquivo() A função é usada para ler o tamanho do arquivo em bytes, que será mostrado na caixa de diálogo de abertura para baixar o arquivo. O rubor() A função é usada para limpar o buffer de saída. O readfile () A função é usada apenas com o nome do arquivo, aqui.
download.php
if (isset ($ _ get ['caminho'])))Saída
A saída a seguir aparecerá após clicar no link de download do arquivo de imagem. O tamanho do arquivo do rosa.jpg imagem é 27.2 kb, Conforme mostrado na caixa de diálogo. Você pode baixar o arquivo selecionando o Salvar Arquivo botão de rádio e pressionando o OK botão.
Exemplo 2: Faça o download do arquivo com o caminho do arquivo
Se o arquivo existir no local do arquivo fornecido, o caminho do arquivo deverá mencionar no URL. Neste exemplo, criaremos um arquivo HTML com o seguinte código, que passará o nome do arquivo com o caminho do arquivo:
download3.html
Criaremos um arquivo php com o seguinte código para baixar um arquivo do caminho do arquivo. O código PHP no exemplo anterior será ligeiramente modificado para baixar o arquivo do caminho fornecido. O ClearStatecache () A função é usada para limpar o cache que foi armazenado anteriormente. Dois argumentos são usados no readfile () função.
Download2.php
if (isset ($ _ get ['caminho'])))Saída
Depois que o link de download do arquivo pdf for clicado, a seguinte saída será exibida.
Vídeo tutorial
Conclusão
Este artigo forneceu uma maneira simples de fazer o download à força qualquer arquivo usando o script PHP, para ajudar os leitores a adicionar o recurso de download em seu script.