Ir para conteúdo
Fórum Script Brasil
  • 0

Barra De Progresso Em Ftp Upload/download


sirknow

Pergunta

aí galera boa tarde, gostaria de dicas para colocar uma barra de progresso, simples que seja

só para saber em qual andamento está o arquivo num sistema de ftp em php, vejam o codigo:

UPLOAD

if($_POST['btnEnviar2']){  //se o botão enviar do upload estiver clicado


   //RECEBE O ARQUIVO
  $arqName = $_FILES[arquivo][name];
   $arqTemp = $_FILES[arquivo][tmp_name];
   //CONECTA AO FTP
   $conn    =  ftp_connect($server)                   or die ("ERRO AO CONECTAR AO SERVIDOR DE FTP ".$server);

   //TENTA EFETUAR O LOGIN COM USUÁRIO E SENHA DE ACESSO
   if(@ftp_login($conn, $usuario, $senha) ) {

      //ENVIA O ARQUIVO
      $status = ftp_put($conn, '/'.$arqName, $arqTemp, FTP_BINARY);

      //VERIFICA SE O ARQUIVO FOI ENVIADO
      if($status) {
         echo "<h2 class=\"Texto\">O arquivo <b> $arqName </b>foi enviado com Sucesso!</h2>";
         echo "<font class=\"textopequeno\">Clique <b>Voltar</b> para enviar outro arquivo.<br>Clique em <b>Menu</b> para retornar ao Menu Principal.</font>";?>
         <style type="text/css">

            .Enviar {
                font-family: "Arial Black";
                font-size: 11px;
                background-color:#FFFFFF;
                color:#3A5999;
                border:1px solid #003366;
                width: 60;
            }

            </style>
      <form name="nada">
      <table border="00" cellpading="0" cellspacing="0" width="50%">
      <tr>
        <td height="30" width="10%"></td>
        <td height="30" width="40%"></td>
      </tr>
      <tr>
       <td height="60" width="10%"><input name="button" type="button" onclick="window.location = 'upload.php'" value="Menu" class="Enviar"></td>
       <td height="60" width="40%"><input name="button" type="button" onclick="history.go(-1)" value="Voltar" class="Enviar"></td>

      </tr>


      </table>
      </form> <?
         }//FECHA IF ( status )
      else {
      echo "<h2 class=\"Texto\"> Envio de Arquivo </h2>";
        echo "<font class=\"textopequeno\">Erro! Aconteceu algum problema no envio do arquivo. Talvez ele já exista.<br>Clique em <b>Voltar</b> para tentar novamente ou <b>Menu</b> para sair do Envio de Arquivos.</font>";
       ?>
        <!------<style type="text/css">

            .Enviar {
                font-family: "Arial Black";
                font-size: 11px;
                background-color:#FFFFFF;
                color:#3A5999;
                border:1px solid #003366;
                width: 60;
            }

            </style>   -->
      <form name="nada">
      <table border="00" cellpading="0" cellspacing="0" width="50%">
      <tr>
         <td height="30" width="10%"></td>
         <td height="30" width="40%"></td>
      </tr>
      <tr>
      <td height="60" width="10%"><input name="button" type="button" onclick="window.location = 'upload.php'" value="Menu" class="Enviar"></td>
      <td height="60" width="40%"><input name="button" type="button" onclick="history.go(-1)" value="Voltar" class="Enviar"></td>
      </tr>
      </table>
      </form>


          <?
      }//FECHA ELSE
   }//FECHA IF (LOGIN)
   else {
      echo '4';
      echo "<br><br><br>Não foi possível efetuar a conexão. Verifique o usuário e a senha de acesso.";
      //session_destroy();
   }//FECHA ELSE

   //TERMINA A EXECUÇÃO
   die;
}//FECHA IF ( POST )

 ?>

<form name="frmFtp" method="post" enctype="multipart/form-data">
      <table border="00" cellpading="0" cellspacing="0" width="50%">
      <tr>
         <td height="30" width="10%" class="textopequeno">Arquivo:</td>
         <td height="30" width="40%"><input name="arquivo" type="file" class="procurar" size="40"></td>
   </tr>
   <tr>
         <td height="60" width="10%" ><input name="button" type="button" onclick="history.go(-1)" value="Menu" class="Enviar"></td>
             <td height="60" width="40%"><input type="submit" class="Enviar" name="btnEnviar2" value="Enviar"></td>
      </tr>
      <input type="hidden" value="<? echo $usuario ?>" name="login">
      <input type="hidden" value="<? echo $senha ?>" name="Senha">
      </table>
   </form>
DOWNLOAD
if($_POST[arquivo]) {
   //RECEBE OS DADOS DO FORM
   $aArquivo  = $_POST[arquivo];
   $pEndereco = $_POST[endereco];

   //FAZ O DOWNLOAD DO(S) ARQUIVO(S)
   for($i=0; $i<sizeof($aArquivo); $i++) {  
      
      //CAMINHO ONDE O ARQUIVO SERÁ SALVO          
      $local  = $pEndereco.$aArquivo[$i];
      
      //FTP_PWD - DIRETÓRIO ATUAL DO SERVIDOR FTP  
      $server = ftp_pwd($conn).$aArquivo[$i];
      
      //FTP_GET() - DOWNLOAD DO ARQUIVO
      $status = ftp_get (
                         $conn      
                       , $local     
                       , $server    
                       , FTP_BINARY
                        );
      
      //VERIFICA
      if($status) {
         //MENSAGEM
         echo "PARABÉNS! O arquivo $aArquivo[$i] foi baixado com Sucesso!<br>";
      } else {
         //MENSAGEM
         echo "ERRO! O arquivo $aArquivo[$i] NÃO FOI BAIXADO.<br>";
      }//FECHA ELSE
   }//FECHA FOR
   
   //FECHA A CONEXÃO COM O FTP
   ftp_close($conn);

   //TERMINA A EXECUÇÃO
   die;
}//FECHA IF ( POST ) ?>
<?
$arr_arq = ftp_nlist($conn, "*.*");

       for($i=0; $i<sizeof($arr_arq); $i++) { ?>
         <tr>
            <td height="30" width="5%"></td>
            <td height="" width="45%"><a href="ftp://<? echo $usuario; ?>:<? echo $senha; ?>@200.171.73.23/<? echo $arr_arq[$i]; ?>"> <? echo $arr_arq[$i]; ?> </a></td>
         </tr>
     <?
     };//FECHA FOR ?>

alguém sabe como posso proceder?

obrigado

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

O que você quer se chama progressbar (nome auto explicativo), abaixo 2 opções pra implementar:

http://www.dinke.net/blog/2006/11/04/php-5...gress-meter/en/

http://ajaxian.com/archives/asynchronous-f...ress-bar-in-php (esse usa AJAX)

http://blog.joshuaeichorn.com/archives/200...-meter-updates/ (também usa AJAX)

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...