Faça o upload do arquivo em php

Faça o upload do arquivo em php

O upload de arquivos é uma tarefa comum para aplicativos da Web. Diferentes tipos de arquivos são necessários para fazer upload com base no aplicativo. Arquivos de imagem, arquivos de texto, arquivos PDF, arquivos XML, etc. pode ser carregado usando o script PHP. Um ou mais arquivos podem ser carregados por php. Existem algumas diretivas de PHP em o php.ini Funções de arquivo de configuração e php integrados relacionados ao upload de arquivos que são discutidos neste tutorial. HTML tem um atributo específico na tag de formulário para tarefas de upload de arquivos, ou seja, Enctype.

Diretivas PHP para upload de arquivo

Diretiva PHP Propósito
file_uploads O valor desta diretiva deve ser Sobre Para fazer upload do arquivo usando o script php. O valor padrão desta diretiva é Sobre.
upload_tmp_dir É usado para definir o diretório temporário onde o arquivo será carregado.
upload_max_filesize É usado para definir o tamanho máximo do arquivo que pode ser carregado.
max_file_uploads É usado para definir o número de arquivos que podem ser carregados.
post_max_size É usado para definir o tamanho máximo dos dados da postagem e o valor desta diretiva deve ser maior do que o valor da diretiva upload_max_filesize porque o arquivo é carregado pela solicitação de postagem.
max_input_time É usado para definir a quantidade máxima de tempo para ler os dados do arquivo de upload.
max_execution_time É usado para definir a quantidade máxima de tempo em segundos para executar o script para fazer upload do arquivo.
Memory_limit É usado para definir o tamanho máximo de memória necessário para executar um script PHP para fazer upload do arquivo.

Funções PHP para upload de arquivo

Duas funções internas são usadas principalmente no PHP para fazer upload do arquivo mencionado abaixo.

A. IS_UPLOADED_FILE ()
É usado para verificar se o arquivo é carregado através da postagem HTTP, que ajuda a impedir um ataque do usuário malicioso.

B. move_uploaded_file ()
É usado para mover o arquivo carregado para o local do servidor da web. Esta função retornará verdadeira se o arquivo for enviado e movido com sucesso.

Variável de upload de arquivo php

A variável $ _Files Array armazena todas as informações relacionadas ao upload de um arquivo no servidor. É uma variável superglobal do PHP que é acessível em qualquer lugar do script. Ele contém cinco tipos de informações: nome do arquivo, tipo, tamanho, nome do arquivo temporário e erros relacionados ao upload do arquivo. O objetivo de cada valor da matriz $ _File foi mencionado abaixo. Suponha que o nome do nome do campo de upload seja 'carregar' aqui.

A. $ _Files ['upload'] ['nome']
É usado para obter o nome do arquivo original que foi carregado pelo computador do cliente.

B. $ _Files ['upload'] ['tmp_name']
É usado para obter o nome do arquivo temporário que foi armazenado temporariamente no servidor.

C. $ _Files ['upload'] ['tipo']
É usado para obter o tipo MIME do arquivo carregado.

D. $ _Files ['upload'] ['tamanho']
É usado para obter o tamanho do arquivo carregado em bytes.

E. $ _Files ['upload'] ['erro']
É usado para obter o código de erro relacionado à tarefa de upload. A variável pode conter qualquer um dos 7 tipos de valores mencionados abaixo.

Erro de código Descrição
1- upload_err_ok Gera quando o arquivo é enviado com sucesso.
2- upload_err_ini_size Gera se o tamanho do arquivo exceder o valor do upload_max_filesize Diretiva que é definida no PHP.arquivo ini.
3- upload_err_parcial Ele gera se o tamanho do arquivo exceder o valor da diretiva max_file_size que é definida no formulário HTML.
4- upload_err_no_file Gera se nenhum arquivo for carregado.
5- upload_err_no_tmp_dir Gera se nenhum diretório temporário está faltando.
6- upload_err_cant_write Gera se não houver permissão de gravação no local do servidor.
7- upload_err_extension Ele gera se a extensão PHP interromper a tarefa de upload.

Faça o upload do arquivo usando PHP

Diferentes exemplos de upload do arquivo usando o script php foram mostrados nesta parte do tutorial.

Exemplo 1: Faça o upload de qualquer tipo de arquivo

Você pode fazer upload do arquivo no local atual de onde o script PHP está executando ou em uma pasta específica. Você precisa criar a pasta no local do servidor para fazer upload de um arquivo dentro de uma pasta específica antes de executar o script php. Eu criei uma pasta chamada 'uploads ' Dentro da pasta de trabalho. Crie um arquivo php com o seguinte script que enviará um arquivo de qualquer tipo dentro do 'uploads ' pasta. Um formulário HTML com um campo de tipo de arquivo e um botão de envio foi usado no script para selecionar o arquivo do computador do cliente para fazer upload. Se 1 for gerado como um código de erro após o upload do arquivo, o arquivo será carregado com sucesso. Em seguida, o move_upload_file () A função foi usada para mover o arquivo carregado para o local do servidor. A mensagem de sucesso será impressa se o arquivo for enviado no local do servidor com sucesso; Caso contrário, uma mensagem de erro será exibida.

// Verifique qualquer arquivo é selecionado ou não
if (isset ($ _ arquivos ['uploadfile'])))

// Verifique qualquer erro de upload existe ou não
if ($ _files ['uploadfile'] ['error'] === upload_err_ok)

// Leia o nome do arquivo original
$ filename = $ _files ['uploadfile'] ['nome'];
// Leia o nome do arquivo temporário
$ fileTemppath = $ _files ['uploadfile'] ['tmp_name'];
// defina o caminho do arquivo de upload
$ filepath = Dirname (__ file__).'/uploads/'.$ FILENAME;
// Carregar o arquivo usando move_upload_file () função
if (move_uploaded_file ($ fileTemppath, $ filepath)))

// Imprima a mensagem de sucesso
eco '

O arquivo é carregado com sucesso.

';

outro

// Imprima a mensagem de erro
eco '

Erro carregando o arquivo.
'. $ _Files ['uploadfile'] ['erro']. '

';


outro

// Imprima a mensagem de erro
eco '

Erro carregando o arquivo.
'. $ _Files ['uploadfile'] ['erro']. '

';


outro

?>




Faça o upload do arquivo usando PHP



Selecione o arquivo:





?>

Saída
A saída a seguir aparecerá se o script for executado no servidor da web.

Clique no Navegar botão para selecionar o arquivo para fazer upload e pressionar o botão Upload para fazer o upload do arquivo no servidor.

A mensagem a seguir aparecerá se o arquivo for enviado com sucesso.

Exemplo 2: Carregue um arquivo do tipo e tamanho específicos

A maneira de fazer upload do arquivo usando um arquivo HTML separado e o arquivo php foi mostrado neste exemplo. Crie um arquivo HTML com o seguinte script para exibir o formulário para fazer upload do arquivo.

Uploadform.html





Carregando o arquivo JPEG usando PHP



Selecione o arquivo:



Crie um script PHP com o seguinte script que fará o upload do arquivo JPEG e o tamanho será inferior a 300000 bytes. O tipo de arquivo e o tamanho foram lidos usando $ _files ['uploadfile'] ['type'] e $ _files ['uploadfile'] ['size'] variáveis. A mensagem de sucesso aparecerá se o tipo de arquivo e o tamanho do upload corresponder aos critérios definidos na condição 'if'; caso contrário, uma mensagem de erro será exibida.

upload2.php

// Verifique qualquer arquivo é selecionado ou não
if (isset ($ _ arquivos ['uploadfile'])))

// Verifique qualquer erro de upload existe ou não
if ($ _files ['uploadfile'] ['error'] === upload_err_ok)

// Leia o nome do arquivo original
$ filename = $ _files ['uploadfile'] ['nome'];
// Leia o nome do arquivo temporário
$ fileTemppath = $ _files ['uploadfile'] ['tmp_name'];
// Leia o tamanho do arquivo
$ filesize = $ _files ['uploadfile'] ['size'];
// Leia o tipo de arquivo
$ filetype = $ _files ['uploadfile'] ['tipo'];
// Verifique o tipo de arquivo e o tamanho do arquivo
if ($ filetype == 'imagem/jpeg' && $ fileSize < 300000)

// defina o caminho do arquivo de upload
$ filepath = Dirname (__ file__).'/uploads/'.$ FILENAME;
// Carregar o arquivo usando move_upload_file () função
if (move_uploaded_file ($ fileTemppath, $ filepath)))

// Imprima a mensagem de sucesso
eco '

O arquivo é carregado com sucesso.

';

outro

// Imprima a mensagem de erro
eco '

Erro carregando o arquivo.
'. $ _Files ['uploadfile'] ['erro']. '

';


outro
// Imprima a mensagem de erro
eco '

Tipo ou tamanho de arquivo não é suportado.

';

outro

// Imprima a mensagem de erro
eco '

Erro carregando o arquivo.
'. $ _Files ['uploadfile'] ['erro']. '

';

Incluir ('Uploadform.html ');

outro
Incluir ('Uploadform.html ');
?>

Saída
Na saída a seguir, o flor.png Foi selecionado o arquivo que não é um arquivo jpeg:

A saída a seguir aparecerá após pressionar o Carregar botão:

Aqui, a flor1.foi selecionado o arquivo jpeg, que é um arquivo jpeg.

Agora, a saída a seguir aparecerá após pressionar o Carregar botão:

Exemplo 3: Verifique o arquivo antes de fazer o upload

Crie um arquivo php com o seguinte script que usa O IS_UPLOADED_FILE () função para verificar se o arquivo é carregado através da postagem http antes de mover o arquivo para o servidor. O script enviará apenas o arquivo de texto e imprimirá o conteúdo do arquivo de texto depois de fazer o upload do arquivo com sucesso.

// Verifique se algum arquivo está selecionado ou não
if (isset ($ _ arquivos ['uploadfile'])))

// Leia o nome do arquivo original
$ filename = $ _files ['uploadfile'] ['nome'];
// Leia o nome do arquivo temporário
$ fileTemppath = $ _files ['uploadfile'] ['tmp_name'];
// Leia o tipo de arquivo
$ filetype = $ _files ['uploadfile'] ['tipo'];
// defina o caminho do arquivo de upload
$ filepath = Dirname (__ file__).'/uploads/'.$ FILENAME;
// Verifique o tipo de arquivo
if ($ fileType == 'text/liso')

// Verifique qualquer erro de upload existe ou não
if ($ _files ['uploadfile'] ['error'] === upload_err_ok)

if (is_uploaded_file ($ fileTemppath))
// Carregar o arquivo usando move_upload_file () função
if (move_uploaded_file ($ fileTemppath, $ filepath)))

// Imprima a mensagem de sucesso
ECHO $ ​​FILENAME ."É carregado com sucesso.
";
eco "o conteúdo do arquivo:
";
readfile ($ filepath);

outro

ECHO 'ERRO FOLHAR O ARQUIVO.
'. $ _Files ['uploadfile'] ['erro'];


outro
eco "o arquivo não é carregado.";



outro
eco "o arquivo não é um arquivo de texto.";

outro

?>




Faça o upload do arquivo usando PHP



Selecione o arquivo:




Saída
Na saída a seguir, um arquivo de texto foi selecionado para fazer upload:

O conteúdo do arquivo foi mostrado na saída após o upload do arquivo com sucesso.

Conclusão

A tarefa de upload de arquivos é um requisito comum para qualquer aplicativo da web. Os usos da variável de upload de arquivos e as funções internas do PHP foram mostradas neste tutorial usando vários exemplos de upload de arquivos. Se desejar, você pode fazer upload de mais de um arquivo por vez usando o script PHP coberto neste tutorial. Você também pode fazer upload de uma pasta que contém vários arquivos usando o script PHP.