Script PHP para fazer UPLOAD de arquivos
Publicado por Alessandro Dias 28/05/2007
[ Hits: 17.451 ]
Script muito simples de usar. Basta baixar e colocar no seu site.
Os uploads são feitos para uma pasta "diretorio".
Altere as permissões desta pasta para que o usuário apache possa gravar os arquivos e pronto ...
Bye.
<?php // Upload Script // Desenvolvido por: Alessandro Dias // Data: 29/09/2005 $title="Sistema de Transferência de Arquivos"; $msg="<small><p align=\"justify\"><br> Este serviço foi desenvolvido para que o usuário envie e receba arquivos de até 200MB para o servidor de FTP do COTER de forma segura (criptografada) através da Intranet e Internet. Esses arquivos ficarão no servidor por 30 dias a contar da data da transferência (Upload).<br><br> Para a transferência o usuário deverá seguir os passos abaixo, colocando o endereço de Email para que a comunicação seja feita e o destinatário tome conhecimento do caminho para o arquivo, que será utilizado posteriormente para o download. Cabe resaltar que o caminho para o arquivo tem um nome único e que somente o remetente e o destinatário terão conhecimento do mesmo.</p><p align=\"right\"> Página Desenvolvida pelo Alessandro Dias </small> </p>"; $diretorio="diretorio"; ?> <table width="800" align=center border=0 cellpadding=2 cellspacing=0> <tr> <td align="center" bgcolor="#DCDCDC"><b><?=$title?></b> <table cellspacing="2" cellpadding="5" border="0" width="99%"> <tr> <td bgcolor="#FFFFFF" align="justify"> <? if(isset($msg)) echo "<font color=\"black\">$msg</font>"; ?> <FORM method=post enctype="multipart/form-data" action="corpo.php"> <CENTER> <HR noShade> <TABLE> <TBODY> <TR> <TD align=right>Email do Destinatário do Arquivo: <TD><INPUT name=email_to size=20 type=text value=""> @coter.eb.mil.br</TR> <TR> <TD align=right>Caminho para o arquivo: <input type=hidden name=dir value="<?=base64_encode(realpath($diretorio))?>"> <TD><INPUT name=caminho size=50 type=file> </TR> <TR> <TD align=right>Seu endereço de Email (Opcional): <TD><INPUT name=email_from size=20 type=text value=""> @coter.eb.mil.br</TR> <TR> <TD align=right>Mensagem para o Destinatário (Opcional): <TD><TEXTAREA name=msg_to cols=50 rows=5></TEXTAREA> </TR> </TBODY></TABLE> <HR noShade> <INPUT name=enviar type=submit value="Enviar Arquivo"> </FORM> </td> </tr> </table> <?php if ($_POST['enviar']) { if ($_POST['email_from'] !="") { $as_email_from=addslashes($_POST['email_from']); $tr_email_from=trim($as_email_from); } else { $tr_email_from="suporte"; } if ($_POST['email_to'] !="") { $as_email_to=addslashes($_POST['email_to']); $tr_email_to=trim($as_email_to); } else { $tr_email_to="suporte"; } if ($_POST['caminho'] !="") { $as_caminho=addslashes($_POST['caminho']); $tr_caminho=trim($as_caminho); } else { $tr_caminho="suporte"; } if ($_POST['msg_to'] !="") { $as_msg=addslashes($_POST['msg_to']); $tr_msg=trim($as_msg); } else { $tr_msg="Obrigado!"; } // Corta a string CAMINHO $pos = strrpos($tr_caminho, '\\'); $arquivo = substr($tr_caminho, $pos + 1, strlen($tr_caminho) - $pos); // --------------------------- Nome do Arquivo $nome_arq_new = time(); // -------------------------------- Upload do Arquivo $uploaddir = '/srv/www/default/ftp/diretorio/'; $nome_arq_upload = $_FILES['caminho']['name']; $nome_arq_upload = str_replace('ª', 'a',$nome_arq_upload); $nome_arq_upload = str_replace('º', 'o',$nome_arq_upload); $nome_arq_upload = str_replace(' ', '_',$nome_arq_upload); $nome_arq_upload = str_replace('[', '',$nome_arq_upload); $nome_arq_upload = str_replace(']', '',$nome_arq_upload); $nome_arq_upload = str_replace('(', '',$nome_arq_upload); $nome_arq_upload = str_replace(')', '',$nome_arq_upload); $nome_arq_upload = str_replace('{', '',$nome_arq_upload); $nome_arq_upload = str_replace('}', '',$nome_arq_upload); $nome_arq_upload = str_replace('!', '',$nome_arq_upload); $nome_arq_upload = str_replace('@', '',$nome_arq_upload); $nome_arq_upload = str_replace('#', '',$nome_arq_upload); $nome_arq_upload = str_replace('$', '',$nome_arq_upload); $nome_arq_upload = str_replace('%', '',$nome_arq_upload); $nome_arq_upload = str_replace('^', '',$nome_arq_upload); $nome_arq_upload = str_replace('&', '',$nome_arq_upload); $nome_arq_upload = str_replace('*', '',$nome_arq_upload); $nome_arq_upload = str_replace('ç', 'c',$nome_arq_upload); $nome_arq_upload = str_replace('ã', 'a',$nome_arq_upload); $nome_arq_upload = str_replace('õ', 'o',$nome_arq_upload); $nome_arq_upload = str_replace('á', 'a',$nome_arq_upload); $nome_arq_upload = str_replace('à', 'a',$nome_arq_upload); $nome_arq_upload = str_replace('é', 'e',$nome_arq_upload); $nome_arq_upload = str_replace('í', 'i',$nome_arq_upload); $nome_arq_upload = str_replace('ó', 'o',$nome_arq_upload); $nome_arq_upload = str_replace('ú', 'u',$nome_arq_upload); $nome_arq_upload = str_replace('ê', 'e',$nome_arq_upload); $nome_arq_upload = str_replace('ô', 'o',$nome_arq_upload); $nome_arq_upload = str_replace('Ç', 'C',$nome_arq_upload); $nome_arq_upload = str_replace('Ã', 'A',$nome_arq_upload); $nome_arq_upload = str_replace('Õ', 'O',$nome_arq_upload); $nome_arq_upload = str_replace('Á', 'A',$nome_arq_upload); $nome_arq_upload = str_replace('É', 'E',$nome_arq_upload); $nome_arq_upload = str_replace('Í', 'I',$nome_arq_upload); $nome_arq_upload = str_replace('Ó', 'O',$nome_arq_upload); $nome_arq_upload = str_replace('Ú', 'U',$nome_arq_upload); $nome_arq_upload = str_replace('Ê', 'E',$nome_arq_upload); $nome_arq_upload = str_replace('Ô', 'O',$nome_arq_upload); $tamanho = $_FILES['caminho']['size']; $uploadfile = $uploaddir.$nome_arq_new."_".$tr_email_to."_".$nome_arq_upload; if (move_uploaded_file($_FILES['caminho']['tmp_name'], $uploadfile)) { // --------------------------- Envia MSG $boundary = uniqid("HTMLDEMO"); $from = "From: ".$tr_email_from."@coter.eb.mil.br\r\n"; // $from .= "MIME-Version: 1.0\r\n"; // $from .= "Content-Type: text/html; charset=ISO-8859-1\r\n"."Content-Transfer-Encoding: base64\r\n\r\n"; $to = $tr_email_to.'@coter.eb.mil.br' ; $subject = "Arquivo Transferido: ".$nome_arq_upload; $message = "Esta mensagem foi enviada com a utilizacao do Sistema de Transferencia de Arquivos do COTER. Para acessar ao arquivo \"".$nome_arq_upload."\" (".$tamanho." Bytes), basta clicar no link abaixo, que contem o caminho para o Download do arquivo: \r\n\n"; $message .= "\"https://ftp.coter.eb.mil.br/diretorio/".$nome_arq_new."_".$tr_email_to."_".$nome_arq_upload."\"\r\n\n"; $message .= "Lembrando que o arquivo estara disponivel no servidor por \"30 dias\" a contar da data desta mensagem. \r\n\n"; $message .= " -----\r\n"; $message .= $tr_msg; mail($to, $subject, $message, $from); // ------------------------------------ print "<font color=green size=4>O arquivo foi carregado com sucesso!</font><br>"; //print "<br> Informações sobre o arquivo:<br>\n"; //print_r($_FILES); } else { print "<font color=red size=4>Upload não realizado! Verifique o tamanho do arquivo.</font><br>\n"; print_r($_FILES); } // ------------------------------------------------- } ?> </td> </tr> </table>
Monitoramento simples de servidores
Cria gráficos para monitoramento de consumo de CPU e Memória a partir de arquivos [Atualização].
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Arch Linux - Guia para Iniciantes (2)
Problemas ao instalar o PHP (11)
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (15)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)