Upload em PHP bruno-tk — 03-09-2007 GTM 11 @ 22:08
Upload em PHP
Upload em PHP
14/05/03
No exemplo a seguir você criará um formulário de upload que enviará arquivos de seu computador para o servidor. Tudo isso será feito com instruções já nativas do PHP sem a necessidade de instalar qualquer componente adicional.
Serão utilizados dois arquivos: o upload.htm e o upload.php. No upload.htm será criado o formulário de envio e no arquivo upload.php estará o código que enviará o arquivo do computador do usuário para o servidor.
upload.htm
upload.php
if (copy($arquivo,"/arquivos/".$arquivo_name)){
echo("Arquivo enviado com sucesso!");
}else{
echo ("Erro no envio do arquivo!");
}
?>
Caso queria, você poderá efetuar múltiplos uploads nesse mesmo script: será necessário apenas acrescentar mais algumas linhas com o comando input no formulário e trocar o nome da variável por outro diferente. No código PHP bastará repetir o comando e alterar a variável de origem e destino.
Para que os arquivos armazenados em seu site não sejam exibidos nos navegadores, crie um arquivo index.htm em cada diretório do seu site: desta maneira quando algum usuário digitar o endereço de uma pasta, será exibido apenas o conteúdo da página index.htm - e não a lista dos arquivos lá existentes. Você também poderá configurar as páginas de erro no próprio Apache para que não liste os arquivos dos diretórios.
Ao permitir que os usuário façam o upload de arquivos para o ser servidor, você deverá estar atento ao local de destino da cópia que você configurar em seu script pois como o arquivo enviado pode conter qualquer informação, um script em PHP ou qualquer outro tipo de script pode ser enviado.
Como você sabe, todos os comandos em PHP são executados diretamente no servidor e somente os resultados HTML são enviados para o computador do usuário: se o local onde ele foi armazenado no servidor tiver a possibilidade de ser acessado de qualquer computador, esse arquivo poderá ser executado e os resultados poderão ser os mais variados - de um acesso a qualquer informação confidencial ali existente até a exclusão de todos os arquivos do servidor.
Em nosso exemplo o diretório de destino é o /arquivos que pode ser acessado somente a partir do servidor - o que representa uma segurança adicional.

Do Melhor
Linkk
del.icio.us