Sistema de Upload em PHP No exemplo a seguir você criará um formulário de upload, que enviara 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 (contidos neste arquivo .zip). No upload.htm será criado o formulário de envio. Já 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!"); } ?> Veja que no form o enctype é definido como multipart/form-data, próprio para formulário de arquivo. No código PHP é utilizado o comando copy que copia o arquivo de sua origem, no caso a variável arquivo, para o diretório arquivos. A variável $arquivo_name é utilizada para o arquivo criado mantenha o nome original. Para que o script acima funcione é preciso habilitar a gravação do diretório /arquivos do servidor utilizando o comando chmod 777/arquivos. Você poderá ainda, 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. Dica: 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. Assim, quando algum usuário digitar o endereço de uma pasta no seu site no navegador, apenas será exibido o conteúdo da página index.htm e não a lista dos arquivos lá existentes. Ou você poderá configurar as páginas de erro no próprio Apache, para que não liste os arquivos dos diretórios. Segurança: 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, desde um acesso a qualquer informação confidencial 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 a mais. vlw..abraços a todos da comunidade!