Jump to content


Photo

Orientado Objeto


  • Faça o login para participar
4 replies to this topic

#1 gonacts

gonacts

    "Agora eu tb tenho um Tux..." =D

  • Usuários
  • 1030 posts
  • Sexo:Não informado

Posted 28/07/2005, 09:48

<? 
class ftp{

function conecta($user,$senha,$pasta){
	$host   = "localhost";
	$this->conect = @ftp_connect($host) or die("Erro ao se conectar ao FTP.");
	if(@ftp_login($this->conect,$user,$senha)):
	return true;
	else:
	return "Não foi possível realizar o login. Verifica senha e nome de usuário.";
	endif.    
}

function enviar_arquivo($nome,$tmp_nome){
     //tenho q verificar se a conexao foi realizada com sucesso..
  //ftp_put
}

}

?>
Pessoal estou me adaptando a programação OO no PHP...estou desenvolvendo um sistema de FTP...aonde eu terei um método de conecta, desconecta, envia entre outros...
O meu problema esta no envia, por enqt..rs, eu tenho q verificar se o método conecta foi realizado com sucesso, para entao eu poder fazer o FTP_PUT para enviar o meu arquivo...como eu poderia estar fazendo isso??verificando se a conexao com o FTP foi estabelecida??
vlw..
"Ninguém é tão inteligente que não possa aprender e ninguém é tão burro que não possa ensinar.."
"As dúvidas engrandecem nossa sabedoria, mas não basta somente tirá-las, temos que entendê-las"

#2 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 28/07/2005, 10:19

Assim companheiro:

<?
class ftp
{
    function conecta($user, $senha, $pasta)
    {
        $host = "localhost";
        $this->conect = @ftp_connect($host) or die("Erro ao se conectar ao FTP.");
        if ( @ftp_login($this->conect, $user, $senha) ) :
            return true;
        else:
            return false;
        endif.
    }

    function enviar_arquivo($nome,$tmp_nome){
        //ftp_put
        //...
    }
}

$ftp = new ftp;
if ( $ftp->conecta("user", "senha", "pasta") )
{
    $ftp->enviar_arquivo("nome", "tmp_nome");
}
else
{
    print "Não foi possível realizar o login. Verifica senha e nome de usuário.";
}
?>


[]'s
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#3 gonacts

gonacts

    "Agora eu tb tenho um Tux..." =D

  • Usuários
  • 1030 posts
  • Sexo:Não informado

Posted 28/07/2005, 10:37

Felipe, eu queria q a propria classe fizesse isso ai....pq senao para cada metodo eu teria q fazer essa verificação..
colokei uma VAR dentro da propria classe e defini como FALSE....e qnd conectado passa para TRUE...e dentro dos outros métodos eu verifico se a VAR está TRUE;)
so mais uma coisa..como q eu faço para um metodo chamar o outro....?????
function desconecta(){
     if($this->conectado==true):
       if(@ftp_close($this->conect)):
       return true;
       endif;
     else:
     return false;
     endif;
 }

 function cria_dir($pasta){
     if($this->conectado==true):
       if(ftp_mkdir($this->conect,$pasta):
       return "Diretório criado com sucesso!";
       else:
       return "ERRO:Não foi possível criar o diretório desejado.";
       endif;
     else:
     return "ERRO:Não foi possível criar o diretório.Não há conexão estabelecida com o FTP.";
     endif;
 //AKI TEM Q CHAMAR O MÉTODO DESCONECTA.
 }

"Ninguém é tão inteligente que não possa aprender e ninguém é tão burro que não possa ensinar.."
"As dúvidas engrandecem nossa sabedoria, mas não basta somente tirá-las, temos que entendê-las"

#4 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 28/07/2005, 11:53

Para um método chamar o outro da mesma classe:

function metodo()
{
    $this->outroMetodo();
}

Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#5 ricardolapa

ricardolapa

    Turista

  • Usuários
  • 33 posts
  • Sexo:Não informado

Posted 28/07/2005, 12:05

<?
class ftp
{
   var $conect; 
   function conecta($user, $senha, $pasta)
   {
       $host = "localhost";
       $this->conect = @ftp_connect($host);
       if ( @ftp_login($this->conect, $user, $senha) ) :
           return true;
       else:
           return false;
       endif.
   }

   function enviar_arquivo($nome,$tmp_nome){
       if (!$this->conect) {
       return false;
       }
       else { //se entrar aqui ta conectado, ai ce faz o script pra envia o arquivo }
   }
}

$ftp = new ftp;
if (!$ftp->enviar_arquivo("nome", "tmp_nome")) {
print "Não foi possível realizar o login. Verifica senha e nome de usuário.";
}

?>

deste modo




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq