Para permitir apenas o upload de arquivos PDF em PHP, você pode usar o atributo accept
no elemento de entrada do tipo “file” (input type=”file”) em seu formulário HTML. Isso irá fornecer uma sugestão para o navegador filtrar apenas os arquivos com a extensão PDF durante a seleção de arquivos.
Aqui está um exemplo de código HTML e PHP que implementa essa restrição:
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="pdfFile" accept=".pdf">
<input type="submit" value="Upload">
</form>
No exemplo acima, o atributo accept=".pdf"
especifica que apenas arquivos com a extensão .pdf serão exibidos na janela de seleção de arquivos do navegador.
Em seguida, no arquivo PHP (upload.php no exemplo acima), você pode adicionar a lógica de verificação para garantir que apenas arquivos PDF sejam aceitos. Aqui está um exemplo simples de como fazer isso:
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$file = $_FILES["pdfFile"];
if ($file["error"] == UPLOAD_ERR_OK) {
$filename = $file["name"];
$extension = pathinfo($filename, PATHINFO_EXTENSION);
if (strtolower($extension) == "pdf") {
// O arquivo é um PDF, você pode prosseguir com o processamento ou o salvamento.
// Lembre-se de tomar as medidas de segurança apropriadas, como mover o arquivo para um diretório seguro e sanitizar o nome do arquivo.
} else {
echo "Apenas arquivos PDF são permitidos.";
}
} else {
echo "Ocorreu um erro ao fazer o upload do arquivo.";
}
}
?>
No exemplo acima, verificamos se não houve erros ao fazer o upload do arquivo. Em seguida, usamos a função pathinfo
para obter a extensão do arquivo. Comparamos a extensão convertida para letras minúsculas com “pdf”. Se for um PDF, você pode prosseguir com o processamento do arquivo. Caso contrário, exibimos uma mensagem de erro.
Lembre-se de que este é apenas um exemplo básico e você deve implementar medidas de segurança adicionais, como validar o tamanho do arquivo, verificar se o arquivo é realmente um PDF e tomar cuidado para evitar ataques de injeção de código.