matux
(usa Ubuntu)
Enviado em 02/05/2008 - 23:46h
<?
if(!isset($_POST["submit"])) {
#Montamos um formulário básico para o envio do anexo
echo "Importar Arquivo para o Sistema<br /><br/>";
echo "<form action=\"upload.php\" id=\"form\" name=\"form\" method=\"post\" enctype=\"multipart/form-data\">";
echo "Tamanho Máximo de 10MB - Tipo de Arquivo Permitido: txt<br />";
echo "<input type=\"file\" name=\"DfAnexo\" size=\"50\" /><br />";
echo "<input name=\"submit\" type=\"submit\" value=\"Importar\" class=\"button\" /> <input type=\"reset\" value=\"Redefinir\" class=\"button\" />";
echo "</form>";
}
else {
#Declaramos de onde estaremos recebendo o anexo (que será através da variável ($_FILES) de envio de arquivos por HTTP)
$DfAnexo = $_FILES["DfAnexo"]["name"];
#Se nenhum arquivo for selecionado para ser enviado, exibe a mensagem de erro abaixo
if(empty($DfAnexo)) {
echo "<body onload=\"alert('Erro no Envio: Nenhum Arquivo Selecionado')\"></body>";
exit();
}
#Caso contrário, o arquivo é checado para ser processado
else {
#Declaramos um tamanho máximo para o envio do anexo em bytes (setamos como sendo 5120000 bytes (que é igual a 5 MB))
#Se o anexo for maior que 5 MB, exibe a mensagem de erro abaixo e termina a execução do script
if($_FILES["DfAnexo"]["size"] > 10240000) {
echo "<body onload=\"alert('Erro no Envio: O Arquivo não pode ser maior que 10MB!')\"></body>";
exit();
}
#Caso contrário, o arquivo continua a ser processado
if(!empty($_FILES["DfAnexo"]["tmp_name"]) and is_file($_FILES["DfAnexo"]["tmp_name"])) {
#Declaramos a pasta aonde o arquivo será salvo (esta pasta deve estar com chmod 777)
$caminho = "upload/";
#Re-declaramos a pasta aonde o arquivo será salvo, desta vez inserindo junto a ela o nome do arquivo
$caminho = $caminho.$_FILES["DfAnexo"]["name"];
#Declaramos os tipos de extensões aceitas para o envio do anexo
if(eregi(".txt$", $_FILES["DfAnexo"]["name"])) {
#Copiamos o arquivo para a pasta setada mais acima
copy($_FILES["DfAnexo"]["tmp_name"],$caminho);
echo "<body onload=\"alert('Arquivo Importado com Sucesso!')\"></body>";
}
#Se o anexo não tiver uma extensão aceita, exibe a mensagem de erro abaixo e termina a execução do script
else {
echo "<body onload=\"alert('Erro no Envio: Extensão do Arquivo Inválida!')\"></body>";
exit();
}
}
#Se o anexo tiver sido indicado através de um caminho inválido ou tenha um nome inválido, exibe a mensagem de erro abaixo e termina a execução do script
else {
echo "<body onload=\"alert('Erro no Envio do Arquivo: Caminho e/ou Nome de Anexo.')\"></body>";
exit();
}
}
}
?>