Beraldo 864 Denunciar post Postado Novembro 13, 2014 Você está misturando remoto/local/ftp e tudo mais. Primeiro, veja a documentação de ftp_get: http://php.net/ftp_get O segunda parâmetro é o local onde o arquivo será salvo no servidor onde o PHP está rodando. Você usou stdout. Como eu disse antes, não sei qual o comportamento disso. Pra mim, stdout é saída padrão do terminal, não do navegador. Por isso sugeri mudar para um arquivo. O terceiro parâmetro é o arquivo no servidor FTP, de onde ele será baixado para o servidor da sua aplicação. Quando o arquivo estiver no servidor da sua aplicação, você poderá lê-lo e enviá-lo ao visitante. Acho que você está se confundindo com os nomes das variáveis que você criou. Compartilhar este post Link para o post Compartilhar em outros sites
Damon 20 Denunciar post Postado Novembro 13, 2014 Em 13/11/2014 at 16:27, Beraldo disse: Citar Você está misturando remoto/local/ftp e tudo mais. Eu confundi na hora que você me pediu para olha na pasta, não sabia qual a pasta que vc estava falando. Primeiro, veja a documentação de ftp_get: http://php.net/ftp_get Citar O segunda parâmetro é o local onde o arquivo será salvo no servidor onde o PHP está rodando. Você usou stdout. Como eu disse antes, não sei qual o comportamento disso. Pra mim, stdout é saída padrão do terminal, não do navegador. Por isso sugeri mudar para um arquivo. Eu também é a primeira vez que utilizo esta função, acho que da para perceber...rsrs. No caso com ele eu sei que ta passando pelo ftp_get, acho que esta faltando pouca coisa, quando eu joguei ftp_get dentro do IF ele retornou a mensagem que o arquivo foi baixado, porem o arquivo não apareceu Citar O terceiro parâmetro é o arquivo no servidor FTP, de onde ele será baixado para o servidor da sua aplicação. Quando o arquivo estiver no servidor da sua aplicação, você poderá lê-lo e enviá-lo ao visitante. Os arquivos já estão no meu servidor, como eu tinha dito no começo o upload estou fazendo normalmente. Acho que você está se confundindo com os nomes das variáveis que você criou. A ultima duvida surgiu pelo fato de não ter passado aonde o arquivo será salvo. Pensei que eles seriam baixado e salvo na pasta padrão do local "download". Bernado antes que eu me esqueço deixa eu te agradecer pela assessoria, vou tentando aqui e vou te passando feedback. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Novembro 13, 2014 Citar Os arquivos já estão no meu servidor, como eu tinha dito no começo o upload estou fazendo normalmenteMas o upload é feito pro servidor onde roda o PHP. O FTP é outro servidor, certo? Compartilhar este post Link para o post Compartilhar em outros sites
Damon 20 Denunciar post Postado Novembro 13, 2014 Em 13/11/2014 at 17:05, Beraldo disse: Mas o upload é feito pro servidor onde roda o PHP. O FTP é outro servidor, certo? Não servidor é o ftp, eu tiro o arquivo da maquina local e jogo no ftp via php "falando em uma linguagem mais simples" . Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Novembro 13, 2014 Você está usando FTP para salvar o arquivo no mesmo servidor onde o PHP é executado? Compartilhar este post Link para o post Compartilhar em outros sites
Damon 20 Denunciar post Postado Novembro 13, 2014 Em 13/11/2014 at 17:47, Beraldo disse: Você está usando FTP para salvar o arquivo no mesmo servidor onde o PHP é executado? como assim? Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Novembro 13, 2014 Me explique qual é o fluxo desse seu upload/download. Você faz o upload para seu servidor. Depois envia o arquivo pra outro servidor por FTP? Pois se for no mesmo servidor, nem precisa usar FTP Compartilhar este post Link para o post Compartilhar em outros sites
Damon 20 Denunciar post Postado Novembro 13, 2014 Em 13/11/2014 at 18:55, Beraldo disse: Me explique qual é o fluxo desse seu upload/download. Você faz o upload para seu servidor. Depois envia o arquivo pra outro servidor por FTP? Pois se for no mesmo servidor, nem precisa usar FTP Não, download e do servidor(ftp) para uma maquina local ("ou seja para a maquina do cliente") e upload e da maquina do cliente para o servidor (ftp). Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Novembro 13, 2014 O que você chama de servidor FTP é o mesmo servidor onde você executa o PHP? Ou você faz o upload pra esse servidor do PHP e, depois, faz upload pra outro servidor, via FTP? Compartilhar este post Link para o post Compartilhar em outros sites
Damon 20 Denunciar post Postado Novembro 14, 2014 Em 13/11/2014 at 21:20, Beraldo disse: O que você chama de servidor FTP é o mesmo servidor onde você executa o PHP? Ou você faz o upload pra esse servidor do PHP e, depois, faz upload pra outro servidor, via FTP? É tudo um só. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Novembro 14, 2014 Então pra quê conectar por FTP? Você pode ter acesso direto ao arquivo, pelo próprio PHP, usando as Funções de FileSystem Compartilhar este post Link para o post Compartilhar em outros sites
Damon 20 Denunciar post Postado Novembro 14, 2014 Em 14/11/2014 at 11:00, Beraldo disse: Então pra quê conectar por FTP? Você pode ter acesso direto ao arquivo, pelo próprio PHP, usando as Funções de FileSystem Beraldo agora entendi o que você me falou os arquivos estão em pastas diferente, por exemplo meu php esta no domínio A e os arquivos esta no subdomínio B ai neste não teria como neh ! A pesar que eu acho que da pra mim transferir esta pasta para o mesmo domínio onde esta o meu php. Antes de tentar dessa maneira da uma olhada neste código talvez você consiga ver qual a maneira de passar o caminho físico corretamente: <?php $ftp_server = "ftp.caminho.com.br"; $ftp_user_name ="sadasdasd"; $ftp_user_pass = "sadasdasdasd"; // path to remote file $remote_file = '/web/13/testeFile.txt'; $local_file = 'D:\\dowload\\'; //caminho físico // open some file to write to $handle = fopen($local_file, 'teste'); // set up basic connection $conn_id = ftp_connect($ftp_server); // login with username and password $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); // try to download $remote_file and save it to $handle if (ftp_fget($conn_id, $handle, $remote_file, FTP_ASCII, 0)) { echo "successfully written to $local_file\n"; } else { echo "There was a problem while downloading $remote_file to $local_file\n"; } // close the connection and the file handler ftp_close($conn_id); fclose($handle); ?> HP Warning: fopen(D:\dowload\) [<a href='function.fopen'>function.fopen</a>]: failed to open stream: No error in E:\home\Web\teste\download.php on line 12 PHP Warning: ftp_fget() expects parameter 2 to be resource, boolean given in E:\home\Web\teste\download.php on line 21 PHP Warning: fclose(): supplied argument is not a valid stream resource in E:\home\Web\teste\download.php on line 29 Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Novembro 14, 2014 O PHP roda em um servidor, não em um domínio. Se os dois domínios estiverem no mesmo servidor, o PHP pode copiar/mover os arquivos entre eles (na verdade, os arquivos são movidos/copiados para diretórios, não domínios), sem necessidade de FTP. Seu código está errado. Primeiro: $local_file é o path local do servidor, não da máquina do usuário. O segundo parâmetro de fopen() é o modo de abertura. Veja a documentação da função pra mais detalhes. Mas se estiver falando do mesmo servidor, nem precisa copiar arquivo pra lá e pra cá. Basta ler o arquivo com o PHP, sem usar FTP nem nada. Compartilhar este post Link para o post Compartilhar em outros sites
Damon 20 Denunciar post Postado Novembro 14, 2014 Em 14/11/2014 at 11:53, Beraldo disse: O PHP roda em um servidor, não em um domínio. Se os dois domínios estiverem no mesmo servidor, o PHP pode copiar/mover os arquivos entre eles (na verdade, os arquivos são movidos/copiados para diretórios, não domínios), sem necessidade de FTP. Seu código está errado. Primeiro: $local_file é o path local do servidor, não da máquina do usuário. O segundo parâmetro de fopen() é o modo de abertura. Veja a documentação da função pra mais detalhes. Mas se estiver falando do mesmo servidor, nem precisa copiar arquivo pra lá e pra cá. Basta ler o arquivo com o PHP, sem usar FTP nem nada. Com esta função eu consigo envia e baixa ? E $remote_file é o que ? Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Novembro 14, 2014 $remote_file é o caminho do arquivo no servidor FTP ao qual você se conectou. O $local_file é o caminho no servidor onde roda o PHP. Se eles são o mesmo servidor, não precisa usar FTP. Basta acessar o arquivo diretamente. Compartilhar este post Link para o post Compartilhar em outros sites
Damon 20 Denunciar post Postado Novembro 14, 2014 Em 14/11/2014 at 12:01, Beraldo disse: $remote_file é o caminho do arquivo no servidor FTP ao qual você se conectou. O $local_file é o caminho no servidor onde roda o PHP. Se eles são o mesmo servidor, não precisa usar FTP. Basta acessar o arquivo diretamente. Qual a maneira que deve fica este código acima ? Se poder rescreve-lo pra mim poder entender melhor. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Novembro 14, 2014 é só usar readfile(), como você fez antes, direto no caminho completo do arquivo ($server_file), sem precisar usar as funções de ftp Compartilhar este post Link para o post Compartilhar em outros sites
Damon 20 Denunciar post Postado Novembro 14, 2014 Em 14/11/2014 at 12:52, Beraldo disse: é só usar readfile(), como você fez antes, direto no caminho completo do arquivo ($server_file), sem precisar usar as funções de ftp Pode me passar um exemplo sem ser pelo manual ? Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Novembro 14, 2014 $file = 'caminho/do/arquivo'; $content = file_get_contents( $file ); echo $content; Compartilhar este post Link para o post Compartilhar em outros sites