Script PHP para fazer UPLOAD de arquivos
Publicado por Alessandro Dias 28/05/2007
[ Hits: 17.921 ]
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>
PortScan em PHP com post usando fsockopen
Script PHP para autenticacao web dos usuarios do proprio linux
Cria gráficos para monitoramento de consumo de CPU e Memória a partir de arquivos [Atualização].
Cria gráficos para monitoramento de consumo de CPU e Memória a partir de arquivos [Atualização].
Nenhum comentário foi encontrado.
O Journal no Linux para a guarda e consulta de logs do sistema
A evolução do Linux e as mudanças que se fazem necessárias desde o seu lançamento
Maquina modesta - a vez dos navegadores ferrarem o usuario
Fscrypt: protegendo arquivos do seu usuário sem a lentidão padrão de criptograr o disco
Sway no Arch Linux: configuração Inicial sem enrolação
Resolvendo o bloqueio do Módulo Warsaw no Arch Linux (Porta 30900)
Continuando meus tópicos anteriores (0)
Saída de loop após teste de if. (2)
Governo da França vai trocar Windows por Linux (9)
Warsaw não é reconhecido no Google Chrome 147.0.7727.55 [RESOLVIDO] (9)









