Ir ao conteúdo
  • Cadastre-se

Dirceu Morais

Membro Júnior
  • Posts

    4
  • Cadastrado em

  • Última visita

  1. Pode marcar o post como resolvido. Consegui descobrir Obrigado a todos que leram meu post e pensaram em me ajudar.
  2. 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!'; ?>
  3. 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?
  4. 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? 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? Na imagem 1 é uma conexão local com transferência obtida e a segunda feita remotamente sem o resultado esperado.

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

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!