Ir ao conteúdo
  • Cadastre-se

Dirceu Morais

Membro Júnior
  • Posts

    4
  • Cadastrado em

  • Última visita

posts postados por Dirceu Morais

  1. Ninguém???

    Já estou começando a me desesperar, não consigo resolver:

    Estou fazendo dessa forma agora:

     

    <?php
    // Dados do servidor
    $porta = '21';
    
    $servidor='200.200.100.50';
    
    $usuario='dirceu';
    
    $senha='morais';
    
    // Abre a conexão com o servidor FTP
    $ftp = ftp_connect($servidor, $porta); // Retorno: true ou false
    if (!$ftp) {
       Echo "Não foi possível fazer conexão no servidor";
       Exit;
    }
    
    // Faz o login no servidor FTP
    $login = ftp_login($ftp, $usuario, $senha); // Retorno: true ou false
    If (!$login) {
        Echo "não foi possível fazer o login no servidor";
        ftp_close($ftp);
        Exit;
    }
    // ======
    
    // Define variáveis para o envio de arquivo
    $local_arquivo = '/storage/emulated/legacy/htdocs/pdvmobile/envia/meuarquivo.txt'; // Localização (local)
    $ftp_pasta = '/backup/'; // Pasta (externa)
    $ftp_arquivo = 'meudocumento.txt'; // Nome do arquivo (externo)
    if(file_exists($local_arquivo)) {
        Echo "Arquivo existe  \n\n";
    } Else
        Echo "Arquivo não existe em $local_arquivo";
    
    $tempHandle = fopen($local_arquivo, 'wb');
    ftp_pasv($ftp,true);
    // Envia o arquivo pelo FTP em modo ASCII
    $envia = @ftp_put($ftp, $ftp_pasta.$ftp_arquivo, $local_arquivo, FTP_ASCII, 0); // Retorno: true / false
    // Encerra a conexão ftp
    ftp_close($ftp);
    
    if (!$envia) {
        Echo "Não consegui fazer upload do arquivo";
    } Else
        echo 'Arquivo enviado com sucesso!';
    
        
    
    ?>

     

     

    Prov.png

    ProvII.png

  2. Amigos estou com um problemão aqui já tem alguns dias e não consigo resolver.

     

    Tenho um aplicativo desenvolvido em PHP, CSS, HTML tudo misturado, hehehe, este aplicativo funcionou muito bem até meados de julho, usando para transferência de dados o comando:  $envio = ftp_put($ftp, $ftp_arquivo, $local_arquivo, FTP_ASCII); e para receber os arquivos eu uso comando: $GET

     

    Agora o sistema conecta mas não transferir os arquivos, nem para Download e Upload.

     

    Para receber o arquivos necessários consegui resolver da seguinte forma:

      $curl = curl_init($ftp_server.$ftp_porta);
               $fo = fopen("$local_file", 'w');
               
               curl_setopt($curl, CURLOPT_URL, "ftp://$ftp_server:$ftp_porta/$remote_file"); #input
               curl_setopt($curl, CURLOPT_TRANSFERTEXT, TRUE);
               curl_setopt($curl, CURLOPT_FILE, $fo); #output
               curl_setopt($curl, CURLOPT_USERPWD, "$ftp_user_name:$ftp_user_pass");
               curl_setopt($curl, CURLOPT_FRESH_CONNECT, true);
               if(file_exists($localFile)) {
                   curl_setopt($curl, CURLOPT_RESUME_FROM, filesize($local_File));
               }
               
               curl_exec($curl);
               
               fclose($fo);
               
               curl_close($curl);

     

    Mas para Enviar os arquivos não estou conseguindo,

              $ftp = ftp_connect($servidor,$porta); // Retorno: true ou false
              
              ftp_raw($ftp, "AUTH TLS");
              ftp_raw($ftp, "AUTH SSL");
              
              // Faz o login no servidor FTP
              $login = ftp_login($ftp, $usuario, $senha); // Retorno: true ou false
              //*****************************************************************//
              ftp_raw($ftp, "CWD /backup");
              ftp_raw($ftp, "TYPE A");
              // Envia o arquivo pelo FTP em modo ASCII
              $connect = ftp_raw($ftp, "PASV");
              
              
              // parse the response and build the IP and port from the values
              if (count($connect) > 0 && preg_match("/.*\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)/", $connect[0], $m)) {
                  $address="{$m[1]}.{$m[2]}.{$m[3]}.{$m[4]}";
                  $port=$m[5] * 256 + $m[6];
                  
                  print_r(ftp_raw($ftp, "STOR $ftp_arquivo"));
                  
                  $sock = socket_create(AF_INET, SOCK_STREAM, 0);
                  if ($sock) {
                      socket_connect($sock, $address, $port);
                      socket_write($sock, file_get_contents($ftp_arquivo));
                      socket_close($sock);
                  }
              }
              ftp_raw($ftp,'CLOSE');

    Dessa forma que estou tentando transferir, quase que dá certo, executa todos os processos, aparece a mensagem que esta sendo transferido, mas dá erro:

     

    (000036)11/08/2023 16:38:50 - mymobile (179.54.xxx.xxx)> PASV
    (000036)11/08/2023 16:38:50 - mymobile (179.54.xxx.xxx)> 227 Entering Passive Mode (xxx,xxx,xxx,xxx,19,171)

    (000036)11/08/2023 16:38:50 - mymobile (179.54.xxx.xxx)> STOR /recebe/pedidos1013110823-10.xml
    (000036)11/08/2023 16:39:00 - mymobile (179.54.xxx.xxx)> 425 Can't open data connection.

     

    O interessante é que, fazendo a transferência pelo FileZilla Client não dá erro o arquivo é transferido normalmente. 

    (000035)11/08/2023 16:37:36 - mymobile (179.54.xxx.xxx)> 200 Type set to A
    (000035)11/08/2023 16:37:36 - mymobile (179.54.xxx.xxx)> PASV
    (000035)11/08/2023 16:37:36 - mymobile (179.54.xxx.xxx)> 227 Entering Passive Mode (xxx,xxx,xxx,xxx,19,169)
    (000035)11/08/2023 16:37:36 - mymobile (179.54.xxx.xxx)> STOR pedidos1013110823-10.xml
    (000035)11/08/2023 16:37:36 - mymobile (179.54.xxx.xxx)> 150 Connection accepted
    (000035)11/08/2023 16:37:36 - mymobile (179.54.xxx.xxx)> 226 Transfer OK

     

    A pergunta é: O que estou fazendo de errado? Existe outra solução?

     

     

  3. Amigos, depois de alguns anos, o tópico é ainda recente "quente", pois estou com este mesmo problema na transferência de arquivos, na rede local funciona, mas remotamente não consigo.

    Estou usando o Filezilla também.

     

    Não entendi esta parte. Onde é que você informou o IP do modem?

    Citação

    E na parte de informar o IP, eu informei o IP do Modem.

     

    Esta parte de liberar as portas no modo passivo eu liberei no modem e no servidor FTP 5000 a 5600, será que terei que mudar?

    Citação

    No servidor FTP, fui na área de configuração de modos passivos, liberei as portas 1 a 65535 por conta desse comentário

     

    Na imagem 1 é uma conexão local com transferência obtida e a segunda feita remotamente sem o resultado esperado.image.png.10407f64cea6bccf39598b3d72cf45ac.png

    ImagemZap.thumb.jpeg.dbd9041958f4bf0cee8010a09e70275e.jpeg

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!