| Upload de arquivos em PHP (uma única página) |
Buenas,
O código abaixo faz upload de arquivos para uma pasta determinada. O envio é simples e muito útil quando se quer receber arquivos de outros usuários.
O código está todo comentado, fácil de se entender.
É só copiar e colar
<?PHP
//Se receber via POST o botão "btnEnviar" dá inicio ao processo de envio
//OBS: ao entrar na página não é executado porque ainda não foi clicado no botão "btnEnviar"
if($_POST["btnEnviar"]){
//Recebe o caminho do arquivo selecionado
$arquivo = $_FILES["flfArquivo"]["name"];
//Verifica se foi selecionado algum arquivo
if(!empty($arquivo)){
//Verifica se a pasta "arquivos existe, se não existir cria a pasta"
if(!is_dir("./arquivos")){
mkdir("./".$dirName, 0755);
}
//Copia o arquivo com o nome temporário para a pasta "arquivos" com o nome original
if(copy($_FILES["flfArquivo"]["tmp_name"], "./arquivos/".$_FILES["flfArquivo"]["name"])){
//Avisa com um "alert" que o arquivo foi enviado com sucesso e volta para a página desejada, nesse caso a index.php
echo "<script>
alert('Arquivo enviado com sucesso.');
location.href = 'index.php';
</script>";
}else{
//Se não foi possivel copiar o arquivo avisa com um "alert" que houve um erro e volta para a página desejada(index.php neste caso)
echo "<script>
alert('Não foi possivel enviar o arquivo, tente novamente.');
location.href = 'index.php';
</script>";
}
//Se não foi selecionado nenhum arquivo pede-se ao usuário que selecione antes de enviar
}else{
echo "<script>alert('Escolha um arquivo');</script>";
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Upload de arquivos</title>
</head>
<body>
<form name="form1" id="form1" enctype="multipart/form-data" method="post" action="">
<p>
<input type="file" name="flfArquivo" id="flfArquivo" />
</p>
<input type="submit" name="btnEnviar" id="btnEnviar" value="Submit" />
</form>
</body>
</html>
4 Comentários para “Upload de arquivos em PHP (uma única página)”
Comente
- Websites para Personal Trainers, Profissionais de Educação Física e Academias
quinta-feira, dezembro 1, 2011, 11:49
Comente - Categoria: Webdesign
- Como personalizar o clique do botão direito do mouse no flash em AS3
quinta-feira, outubro 27, 2011, 12:01
1 Comentário - Categoria: Flash
- Entendo o relatório básico de visitas do site – Google Analytics
segunda-feira, outubro 3, 2011, 16:05
Comente - Categoria: SEO
- clickTag em AS3
terça-feira, agosto 9, 2011, 10:49
Comente - Categoria: Flash
- getURL em AS3
sexta-feira, agosto 5, 2011, 12:05
Comente - Categoria: Flash
- tj:
" Felipe, A mensagem que você recebe é a do... "
Post: Upload de arquivos em PHP (uma única página) - felipe:
" boa tarde, sou novato! copiei este script e diz que... "
Post: Upload de arquivos em PHP (uma única página) - tj:
" Alberto, O que está acontecendo é que o Apache recebe o... "
Post: Upload de arquivos em PHP (uma única página) - Alberto:
" O script funciona e é bem legal, entretanto esta... "
Post: Upload de arquivos em PHP (uma única página) - Joyce:
" POW!!! muito bom "
Post: 50 Sites para downloads gratuitos de vetores
2011
arquivos
as2
as3
copy
dicas
download
echo
flash
for
google
Javascript
laço de repetição
MOD
PHP
realidade aumentada
segurança
seo
session
tendências
tutoriais
upload
usabilidade
vetor
webdesign
TWITTER
- Sem itens











Alberto :
O script funciona e é bem legal, entretanto esta dando um erro no inicio da página:
Notice: Undefined index: btnEnviar in … line 5.
A linha 5 tem o seguinte “if($_POST["btnEnviar"]){“.
Você pode me ajudar?
tj :
Alberto,
O que está acontecendo é que o Apache recebe o “btnEnviar”, que ainda não foi criado pela página(Vai ser criado logo abaixo). Isso acontece por uma configuração do PHP.ini
A solução mais ráida para esse caso(e mais fácil) é colocar um “@” na frente do POST.
@$_POST["btnEnviar"];
O “@” informa ao Apache para não mostrar o “NOTICE”.
Quaquer coisa pergunta novamente.
Abraço
felipe :
boa tarde, sou novato!
copiei este script e diz que não foi possivel enviar arquivo quando clico, qual poderia ser o problema?
agradeço
tj :
Felipe,
A mensagem que você recebe é a do “alert” do script ????
Se você estiver rodando o script na plataforma Windows você pode ter problemas com permissões para criar a pasta arquivos. Caso não tenha criado a pasta tenta criar ela no mesmo diretório onde está o script.