Script PHP para fazer UPLOAD de arquivos

Publicado por Alessandro Dias 28/05/2007

[ Hits: 17.325 ]

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

Babelfish Translator 2.0

Exibir IP do cliente

Resolvendo IP para Hostname em PHP

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

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


  

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