Como fazer upload de arquivos em PHP

Para fazer o upload de arquivos em PHP, você precisa seguir os seguintes passos:

Passo 1: Criar um formulário HTML com um campo de upload Para permitir que os usuários carreguem arquivos em seu site, você precisa criar um formulário HTML que inclua um campo de upload. Use a tag <form> e especifique o atributo “enctype” como “multipart/form-data”. Use a tag <input> com o atributo “type” definido como “file” para criar o campo de upload. Por exemplo:

<form action="upload.php" method="POST" enctype="multipart/form-data">
  <input type="file" name="arquivo">
  <input type="submit" value="Enviar">
</form>

Passo 2: Processar o arquivo enviado no script PHP Quando o usuário enviar um arquivo através do formulário HTML, o arquivo será enviado para um script PHP que você deve criar. Use a variável global $_FILES para acessar o arquivo carregado e use a função move_uploaded_file() para mover o arquivo para um diretório de destino em seu servidor. Por exemplo:

<?php
$destino = 'uploads/' . $_FILES['arquivo']['name'];
if (move_uploaded_file($_FILES['arquivo']['tmp_name'], $destino)) {
  echo 'Arquivo carregado com sucesso!';
} else {
  echo 'Ocorreu um erro ao carregar o arquivo.';
}
?>

No exemplo acima, o arquivo enviado é movido para o diretório “uploads” em seu servidor. O nome do arquivo é obtido a partir da variável $_FILES e concatenado com o caminho para o diretório de destino. A função move_uploaded_file() é usada para mover o arquivo do diretório temporário para o diretório de destino.

Passo 3: Verificar o tipo e tamanho do arquivo Para garantir a segurança do seu site, é importante verificar o tipo e tamanho do arquivo enviado pelo usuário. Você pode usar a variável $_FILES[‘arquivo’][‘type’] para verificar o tipo de arquivo e a variável $_FILES[‘arquivo’][‘size’] para verificar o tamanho do arquivo. Por exemplo:

<?php
$tipoPermitido = array('image/jpeg', 'image/png', 'image/gif');
$tamanhoMaximo = 5000000;

if (in_array($_FILES['arquivo']['type'], $tipoPermitido) && $_FILES['arquivo']['size'] <= $tamanhoMaximo) {
  $destino = 'uploads/' . $_FILES['arquivo']['name'];
  if (move_uploaded_file($_FILES['arquivo']['tmp_name'], $destino)) {
    echo 'Arquivo carregado com sucesso!';
  } else {
    echo 'Ocorreu um erro ao carregar o arquivo.';
  }
} else {
  echo 'Tipo ou tamanho de arquivo não permitido.';
}
?>

No exemplo acima, o tipo de arquivo permitido é definido em um array e o tamanho máximo é definido em bytes. O tipo e tamanho do arquivo enviado são verificados antes de permitir que o arquivo seja carregado.

Lembre-se de sempre validar e filtrar os dados enviados pelos usuários em seu site, incluindo os arquivos carregados. Isso ajudará a proteger seu site contra ataques maliciosos e garantir que seus usuários possam usar o site com segurança.

Deixe um comentário