Script PHP para fazer UPLOAD de arquivos

Publicado por Alessandro Dias 28/05/2007

[ Hits: 17.426 ]

Download upload.php




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.

  



Esconder código-fonte

<?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>


Scripts recomendados

Cria gráficos para monitoramento de consumo de CPU e Memória a partir de arquivos [Atualização].

Tradutor Google

Verifica porta aberta por faixa de ip's

PHPsysInfo 2.1

php-scan-rede - scanner de rede simples em PHP


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts