Script PHP para fazer UPLOAD de arquivos
Publicado por Alessandro Dias 28/05/2007
[ Hits: 17.724 ]
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>
Script PHP para autenticacao web dos usuarios do proprio linux
PHP Script para testar ping de varios enderecoes em arquivo TXT
Cria gráficos para monitoramento de consumo de CPU e Memória a partir de arquivos [Atualização].
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Instalação dualboot Windows 11 e Debian 13 (0)
Programa fora de escala na tela do pc (33)
Eu queria adicionar a incon do wifi e deixa transparente no fluxbox no... (0)









