Dirceu Morais
-
Posts
4 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por Dirceu Morais
-
-
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!'; ?>
-
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 OKA pergunta é: O que estou fazendo de errado? Existe outra solução?
-
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çãoE 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çãoNo 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.
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
Transferência de arquivos - php
em Web e banco de dados
Postado
Pode marcar o post como resolvido.
Consegui descobrir
Obrigado a todos que leram meu post e pensaram em me ajudar.