edi-ss 0 Denunciar post Postado Maio 23, 2008 bom pessoal , to com umas dificuldades ai , entao se der para me ajuda agradeço . ta ok é o seguinte tenho um servidor FTP (GuildFTP) , e uma aplicação em php , o problemas é que nao consigo listar os arquivos para ser baixados ... gostaria de poder baixar os arquivos pelas opções do checkbox. que tem a opção de colocar o local ... e tbm pelo salvar com... direto. vo colocar o codigo e ir comentando ele , e no propio codigo coloco as duvidas ..ok <?php //DADOS PARA CONEXÃO $server = "127.0.0.1"; $usuario = "edivaldo"; $senha = "963852"; //CONECTA AO FTP $conn = ftp_connect($server) or die ("ERRO AO CONECTAR AO SERVIDOR DE FTP ".$server); echo " Você esta Conectado : $usuario !!!!"; //TENTA EFETUAR O LOGIN COM USUÁRIO E SENHA DE ACESSO if(@!ftp_login ( $conn , $usuario , $senha ) ) { echo "Não foi possível efetuar a conexão. Verifique o usuário e a senha de acesso."; }//FECHA ELSE //VERIFICA SE O FORM FOI ENVIADO PARA CONECTAR E FAZER O DOWNLOAD DO ARQUIVO if($_POST) { //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_ASCII ); //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 ) ?> <html> <head> <title> pagina para baixar os arquivos</title> </head> <body bgcolor="#FFFFFF"> <h1>Download de arquivo - FTP</h1> <form name="frmFtp" method="post"> <table border="0" cellpading="0" cellspacing="0" width="50%"> <tr> <td height="20" colspan="2" width="50%">Arquivos disponíveis na pasta :</td> </tr> <tr> <td height="30" colspan="2" width="50%"><b>Marque com o X os arquivos desejados</b></td> </tr> <? //EXIBE OS ARQUIVOS DA RAIZ USANDO A FUNÇÃO FTP_NLIST() $arr_arq = ftp_nlist($conn, ""); // bom a minha duvida ta aqui eu acho ne , eu nao consigo listar os arquivos // for($i=0; $i<sizeof($arr_arq); $i++) { ?> <tr> <td height="30" width="5%" bgcolor="#EBEBEB"> <input type="checkbox" name="arquivo[]" value="<? echo $arr_arq[$i]; ?>"></td> <td height="30" width="45%" bgcolor="#EBEBEB"> <? echo $arr_arq[$i]; ?></td> </tr> <? }//FECHA FOR ?> </table> <br> <table border="0" cellpading="0" cellspacing="0" width="60%"> <tr> <td height="30" width="25%">Pasta onde o arquivo será salvo:</td> <td height="30"width="35%"> <input name="endereco" type="text" size="35" value="C:\temp\"></td> </tr> <tr> <td height="30" width="60%" colspan="2"> <input type="submit" name="btnEnviar" value="Enviar"></td> </tr> </table> </form> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Maio 24, 2008 nesse trecho if(@!ftp_login ( remova o @, pois ele inibe exibição de erros if(!ftp_login ( obs: remova apenas pra ver se está retornando algum erro, depois de consertar algum possível erro coloque o @ novamente. preciso saber se o login é feito com sucesso pois segundo descrição do seu problema, a falha pode estar relacionada ao modo de conexão com o FTP Server. porém a conexão depende do provedor de internet e rede local, no caso, a conexão de internet do servidor web onde a aplicação PHP será executada. primeiramente, faça o teste acima e retorne aqui o resultado, se o login foi feito com sucesso ou não. Compartilhar este post Link para o post Compartilhar em outros sites
edi-ss 0 Denunciar post Postado Maio 26, 2008 cara .. sim ...login e usuario e feito com sucesso. Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Maio 27, 2008 ok, era isso que queria saber. há grande probabilidade do erro estar ocorrendo devido ao modo de conexão tente usar conexão passiva veja http://php.net/ftp_pasv Compartilhar este post Link para o post Compartilhar em outros sites
edi-ss 0 Denunciar post Postado Maio 27, 2008 e ai cara beleza. entao cara .. pela conexão passiva nao deu certo nao em , coloco true e false , mas nada de lista em. ele verifica se o usuario ta logado e confirma que ta , mas nao lista o conteudo da pasta do servidor nao em .. sera que pode ser o servidor que eu to usandop éee nao sei se vcs conhece é esse aqui .. (GuildFTPd) ... ok grato Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Maio 27, 2008 conheço o GuildFTPd vamos do começo 1 - qual o sistema operacinal que está usando o servidor ? 2 - como você está fazendo o teste ? rodando o php numa maquina local ou no servidor ? 3 - qual a versao do PHP ? 4 - mostre o script que você alterou conheço o GuildFTPd vamos do começo 1 - qual o sistema operacinal que está usando o servidor ? 2 - como você está fazendo o teste ? rodando o php numa maquina local ou no servidor ? 3 - qual a versao do PHP ? 4 - mostre o script que você alterou 5 - conectando com um cliente ftp a listagem é feita normalmente ? como está a configuração do cliente ftp ? Compartilhar este post Link para o post Compartilhar em outros sites
edi-ss 0 Denunciar post Postado Maio 27, 2008 1 – o sistema operacional é no XP .. 1° quero fazer funcionar no xp .. e depois vou para o Linux 2- os teste ...to fazendo os teste em uma maquina local .. estalei o WAMP ... e o GuildFTPd.. estão rodando OK. Os dois .. 3 – PHP 5.. 4 – // da uma olhada ai no meu código ate agora ...comentei os trechos .. ele não da erros , funciona normal , mas so não lista o que tenho na pasta <?php //DADOS PARA CONEXÃO $server = "127.0.0.1"; $usuario = "edivaldo"; $senha = "963852"; //CONECTA AO FTP $conn = ftp_connect($server) or die ("ERRO AO CONECTAR AO SERVIDOR DE FTP ".$server); echo " Você esta Conectado : $usuario !!!!"; //TENTA EFETUAR O LOGIN COM USUÁRIO E SENHA DE ACESSO if(@!ftp_login ( $conn , $usuario , $senha ) ) { echo "Não foi possível efetuar a conexão. Verifique o usuário e a senha de acesso."; }//FECHA ELSE // cliente passivo ou nao... ftp_pasv($conn, false); //VERIFICA SE O FORM FOI ENVIADO PARA CONECTAR E FAZER O DOWNLOAD DO ARQUIVO if($_POST) { //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_ASCII ); //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 ) ?> <html> <head> <title> pagina para baixar os arquivos</title> </head> <body bgcolor="#FFFFFF"> <h1>Download de arquivo - FTP</h1> <form name="frmFtp" method="post"> <table border="0" cellpading="0" cellspacing="0" width="50%"> <tr> <td height="20" colspan="2" width="50%">Arquivos disponíveis na pasta :</td> </tr> <tr> <td height="30" colspan="2" width="50%"><b>Marque com o X os arquivos desejados</b></td> </tr> <? //EXIBE OS ARQUIVOS DA RAIZ USANDO A FUNÇÃO FTP_NLIST() $arr_arq = ftp_nlist($conn, ""); for($i=0; $i<sizeof($arr_arq); $i++) { ?> <tr> <td height="30" width="5%" bgcolor="#EBEBEB"> <input type="checkbox" name="arquivo[]" value="<? echo $arr_arq[$i]; ?>"></td> <td height="30" width="45%" bgcolor="#EBEBEB"> <? echo $arr_arq[$i]; ?></td> </tr> <? }//FECHA FOR ?> </table> <br> <table border="0" cellpading="0" cellspacing="0" width="60%"> <tr> <td height="30" width="25%">Pasta onde o arquivo será salvo:</td> <td height="30"width="35%"> <input name="endereco" type="text" size="35" value="C:\temp\"></td> </tr> <tr> <td height="30" width="60%" colspan="2"> <input type="submit" name="btnEnviar" value="Enviar"></td> </tr> </table> </form> </body> </html> //********************************************************************* 5- bom já a configuração do cliente .. acho q esta certo sim , por que eu tenho esta outra aplicação no php. Que é exibir o conteúdo da pasta... e da certinho sim... <?php //DADOS PARA CONEXÃO $server = "127.0.0.1"; $usuario = "edivaldo"; $senha = "963852"; $fisico = "c:/ftproot"; //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) ) { echo "Conectado ao servidor de FTP com o usuário ".$usuario; }//FECHA IF else { echo "Não foi possível efetuar a conexão. Verifique o usuário e a senha de acesso."; } //EXIBE OS ARQUIVOS DO SERVIDOR DE FTP $arr_arq = ftp_nlist($conn, ""); //EXIBE OS ARQUIVOS ENCONTRADOS echo "<br><br>"; echo '<table border="1" cellpading="0" cellspacing="0" width="35%">'; //ARQUIVOS DO ARRAY foreach($arr_arq as $chave => $valor) { echo "<tr>"; echo "<td>".$valor."</td>"; echo "</tr>"; }//FECHA FOR echo "</table>"; ?> //******************************** estranho ne ... consigo exibir esta aqui , mas na outra la , não consigo exibir para poderem fazer o Download , do arquivos .. bom cara , ta ai , agradeço se poder me ajuda .. 1 – o sistema operacional é no XP .. 1° quero fazer funcionar no xp .. e depois vou para o Linux 2- os teste ...to fazendo os teste em uma maquina local .. estalei o WAMP ... e o GuildFTPd.. estão rodando OK. Os dois .. 3 – PHP 5.. 4 – // da uma olhada ai no meu código ate agora ...comentei os trechos .. ele não da erros , funciona normal , mas so não lista o que tenho na pasta <?php //DADOS PARA CONEXÃO $server = "127.0.0.1"; $usuario = "edivaldo"; $senha = "963852"; //CONECTA AO FTP $conn = ftp_connect($server) or die ("ERRO AO CONECTAR AO SERVIDOR DE FTP ".$server); echo " Você esta Conectado : $usuario !!!!"; //TENTA EFETUAR O LOGIN COM USUÁRIO E SENHA DE ACESSO if(@!ftp_login ( $conn , $usuario , $senha ) ) { echo "Não foi possível efetuar a conexão. Verifique o usuário e a senha de acesso."; }//FECHA ELSE // cliente passivo ou nao... ftp_pasv($conn, false); //VERIFICA SE O FORM FOI ENVIADO PARA CONECTAR E FAZER O DOWNLOAD DO ARQUIVO if($_POST) { //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_ASCII ); //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 ) ?> <html> <head> <title> pagina para baixar os arquivos</title> </head> <body bgcolor="#FFFFFF"> <h1>Download de arquivo - FTP</h1> <form name="frmFtp" method="post"> <table border="0" cellpading="0" cellspacing="0" width="50%"> <tr> <td height="20" colspan="2" width="50%">Arquivos disponíveis na pasta :</td> </tr> <tr> <td height="30" colspan="2" width="50%"><b>Marque com o X os arquivos desejados</b></td> </tr> <? //EXIBE OS ARQUIVOS DA RAIZ USANDO A FUNÇÃO FTP_NLIST() $arr_arq = ftp_nlist($conn, ""); for($i=0; $i<sizeof($arr_arq); $i++) { ?> <tr> <td height="30" width="5%" bgcolor="#EBEBEB"> <input type="checkbox" name="arquivo[]" value="<? echo $arr_arq[$i]; ?>"></td> <td height="30" width="45%" bgcolor="#EBEBEB"> <? echo $arr_arq[$i]; ?></td> </tr> <? }//FECHA FOR ?> </table> <br> <table border="0" cellpading="0" cellspacing="0" width="60%"> <tr> <td height="30" width="25%">Pasta onde o arquivo será salvo:</td> <td height="30"width="35%"> <input name="endereco" type="text" size="35" value="C:\temp\"></td> </tr> <tr> <td height="30" width="60%" colspan="2"> <input type="submit" name="btnEnviar" value="Enviar"></td> </tr> </table> </form> </body> </html> //********************************************************************* 5- bom já a configuração do cliente .. acho q esta certo sim , por que eu tenho esta outra aplicação no php. Que é exibir o conteúdo da pasta... e da certinho sim... <?php //DADOS PARA CONEXÃO $server = "127.0.0.1"; $usuario = "edivaldo"; $senha = "963852"; $fisico = "c:/ftproot"; //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) ) { echo "Conectado ao servidor de FTP com o usuário ".$usuario; }//FECHA IF else { echo "Não foi possível efetuar a conexão. Verifique o usuário e a senha de acesso."; } //EXIBE OS ARQUIVOS DO SERVIDOR DE FTP $arr_arq = ftp_nlist($conn, ""); //EXIBE OS ARQUIVOS ENCONTRADOS echo "<br><br>"; echo '<table border="1" cellpading="0" cellspacing="0" width="35%">'; //ARQUIVOS DO ARRAY foreach($arr_arq as $chave => $valor) { echo "<tr>"; echo "<td>".$valor."</td>"; echo "</tr>"; }//FECHA FOR echo "</table>"; ?> //******************************** estranho ne ... consigo exibir esta aqui , mas na outra la , não consigo exibir para poderem fazer o Download , do arquivos .. haaa se tiver algum tutorial ai pra me indicar , do php , ou de configurar o servidor ftp. agradeço.. bom cara , ta ai , agradeço se poder me ajuda .. Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Maio 28, 2008 edi-ss .... o problema não é listar arquivos é fazer download não é ?? do modo como você montou o script de download nunca funcionará http://php.net/ftp_get Compartilhar este post Link para o post Compartilhar em outros sites
edi-ss 0 Denunciar post Postado Maio 28, 2008 ta entao vou do começo ta ok.. ate com o exemplo que você passo ai , ta dando erros . o codigo como fiz .. <?php //DADOS PARA CONEXÃO $ftp_server = "127.0.0.1"; $usuario = "edivaldo"; $senha = "963852"; // define some variables $folder_path = "C:\ftproot"; $local_file = "C:\ftproot"; $server_file = "C:\ftproot"; #$destination_file = "FILEPATH"; // set up basic connection $conn_id = ftp_connect($ftp_server); // login with username and password $login_result = ftp_login($conn_id, $usuario, $senha); //FTP_PWD - DIRETÓRIO ATUAL DO SERVIDOR FTP $ftp_server = ftp_pwd($conn_id).$aArquivo[$i]; // try to download $server_file and save to $local_file if (ftp_get($conn_id, $local_file, $server_file, FTP_BINARY)) { echo "Successfully written to $local_file\n"; } else { echo "erro \n"; } // close the connection ftp_close($conn_id); ?> oo erro que da : Warning: ftp_get(C:\ftproot) [function.ftp-get]: failed to open stream: Permission denied in C:\wamp\www\testeftp\download.php on line 29 Warning: ftp_get() [function.ftp-get]: Error opening C:\ftproot in C:\wamp\www\testeftp\download.php on line 29 erro ******************** ja mudei para : FTP_ASCII e nada ... sera que é o servidor ftp , que ta bloqueando ée.. grato Compartilhar este post Link para o post Compartilhar em outros sites
edi-ss 0 Denunciar post Postado Maio 28, 2008 bom ... segui o exemplo que me passo , mas ta dando erro oo meu codigo ai <?php //DADOS PARA CONEXÃO $ftp_server = "127.0.0.1"; $usuario = "edivaldo"; $senha = "963852"; // define some variables $folder_path = "C:\ftproot"; $local_file = "C:\ftproot"; $server_file = "C:\ftproot"; #$destination_file = "FILEPATH"; // set up basic connection $conn_id = ftp_connect($ftp_server); // login with username and password $login_result = ftp_login($conn_id, $usuario, $senha); //FTP_PWD - DIRETÓRIO ATUAL DO SERVIDOR FTP $ftp_server = ftp_pwd($conn_id).$aArquivo[$i]; // try to download $server_file and save to $local_file if (ftp_get($conn_id, $local_file, $server_file, FTP_BINARY)) { echo "Successfully written to $local_file\n"; } else { echo "erro \n"; } // close the connection ftp_close($conn_id); ?> oo o erro q da: Warning: ftp_get(C:\ftproot) [function.ftp-get]: failed to open stream: Permission denied in C:\wamp\www\testeftp\download.php on line 29 Warning: ftp_get() [function.ftp-get]: Error opening C:\ftproot in C:\wamp\www\testeftp\download.php on line 29 erro sera que é o servidor ftp , q ta bloqueando.. grato pela ajuda e ja troquei para : FTP_ASCII mas a inda da erro .. se poder me ajuda Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Maio 29, 2008 a mensagem de erro já diz tudo você não está informando qual arquivo deve ser baixado a mensagem de permissão negada ocorre porque a função ftp_get tentou fazer download de uma pasta. consulte: http://php.net/ftp_get além do mais, isso fará o download de servidor pra servidor. não abrirá uma caixa de download para o lado cliente. Compartilhar este post Link para o post Compartilhar em outros sites
edi-ss 0 Denunciar post Postado Maio 29, 2008 nao entendi algumas linhas seposivel me ajude a entender ai .. vo colocar o codigo e comentar , ai vcs ve se ta errado ..ok <?php // define some variables $local_file = 'local.zip'; // não sei oque colocar aqui . é o caminha do servidor : //ex: $local_file = "C:\ftproot"; $server_file = 'server.zip'; //tenho que especificar o caminho da pasta que contem os arquivos //para ser baixador .ex: $server_file = "C:\ftproot"; // set up basic connection $conn_id = ftp_connect($ftp_server); // numero ip do servidor .ex: 127.0.0.1 // login with username and password $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); //login e senha p/ acesso ao ftp // try to download $server_file and save to $local_file //aqui conecta ao ftp para paixa o arquivo if (ftp_get($conn_id, // servidor ftp , 127.0.0.1 $local_file, // local onde ta o arquivo $server_file, // local do servidor FTP_BINARY)) // forma de download { echo "Successfully written to $local_file\n"; // se tudo ok.. baixado com sucesso } else { echo "There was a problem\n"; // se nao ta ok.. da erro } // close the connection ftp_close($conn_id); // fim conexao com servidor ftp ?> bom pessoal se poderem me ajuda ta ai o codigo ...ok Compartilhar este post Link para o post Compartilhar em outros sites
edi-ss 0 Denunciar post Postado Junho 19, 2008 ja conseguir sozinho Compartilhar este post Link para o post Compartilhar em outros sites
albertorodrigues 0 Denunciar post Postado Setembro 24, 2014 Olá Pessoal,Executei o script, não deu erro. Deu as mensagens abaixo, Você esta Conectado : h5comb !!!!PARABÉNS! O arquivo enviaraniversario.asp.100 foi baixado com Sucesso!PARABÉNS! O arquivo enviaraniversario.asp.101 foi baixado com Sucesso!PARABÉNS! O arquivo enviaraniversario.asp.102 foi baixado com Sucesso!PARABÉNS! O arquivo enviaraniversario.asp.99 foi baixado com Sucesso! Porem nada foi baixado.Alguem pode me ajudar?Grato. Compartilhar este post Link para o post Compartilhar em outros sites