Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

narizgudo

Utilizar um servidor FTP via PHP

Recommended Posts

Boa madruga pra tds =D

 

Eu tava aqui "estudando" classes e resolvi fazer uma pra conectar a um servidor FTP, já que meu PC ta retardado e num funfa mais meu programinha de FTP =/

 

Eu coloquei umas funções básicas e acho q ta bem explicado.

 

Se alguem tiver alguma ideia, pode ser pra colocar na classe ou até mesmo algo pra melhorar no modo de criar a classe... já q ainda so novo nisso.

 

PHP
<?

/*

** Criada por: Tarcísio Xavier Gruppi

**             txgruppi@gmail.com

**

** EXEMPLO

**

** $ftp = new ftp;

** $ftp -> host = "localhost";

** $ftp -> user = "root";

** $ftp -> pass = "****";

** $ftp -> listar("simples","/","","<br>")/

**

** *********************************************************************

** COMANDOS

**

** conecta()

**  Conecta ao servidor FTP

** *********************************************************************

** listar(modo,diretorio,antes,depois)

**  Lista as arquivos de um diretório

**

**   modo

**    simples - exibe uma lista simples, caminho e nome do arquivo

**    detalhada - exibe uma lista detalhada com permissões, dono, grupo,

**                tamanho, ultima modificação e nome do arquivo

**

**   diretorio

**    diretorio a ser lsitado

**

**   antes

**    string escrita antes do nome do arquivo

**

**   depois

**    string escrita depois do nome do arquivo

** *********************************************************************

** upload(fonte,destino,modo)

**  Envia um arquivo para o servidor FTP

**

**   fonte

**    local do arquivo de origem no servidor local

**

**   destino

**    local onde o arquivo deve ser colocano no servidor FTP

**

**   modo

**    FTP_ASCII

**    FTP_BINARY

**     * o modo deve ser escrito com letras maiusculas e sem aspas *

** *********************************************************************

** download(fonte,destino,modo)

**  Envia um arquivo para o servidor FTP

**

**   fonte

**    local do arquivo de origem no servidor FTP

**

**   destino

**    local onde o arquivo deve ser colocano no servidor local

**

**   modo

**    FTP_ASCII

**    FTP_BINARY

**     * o modo deve ser escrito com letras maiusculas e sem aspas *

** *********************************************************************

** renomear(antigo,novo)

**  Renomeia um arquivo ou diretorio

**

**   antigo

**    nome atual do arquivo ou diretorio

**

**   novo

**    novo nome do arquivo ou diretorio

** *********************************************************************

** deletar(alvo)

**  Deleta um arquivo do servidor FTP

**

**   alvo

**    caminho do arquivo a ser deletado

** *********************************************************************

** diretorio(modo,caminho)

**  Cria ou remove um direitorio do servidor FTP

**

**   modo

**     criar - cria um diretorio

**     remover - remove um diretorio

**

**   caminho

**    caminho do diretorio

** *********************************************************************

** tamamnho(alvo)

**  Pega o tamanho de um arquivo

**

**   alvo

**    caminho do arquivo

*/

class ftp {

 var $host; // host do servidor ftp

 var $user; // nome do usuario

 var $pass; // senha do usuario

 var $conn; // stream da conexao com o servidor ftp

 function conecta() {

  if ($this->host == "") die("HOST não definido");

  if ($this->user == "") die("USER não definido");

  if ($this->pass == "") die("PASS não definido");

  $this->conn = ftp_connect($this->host) or die("Não foi possível conectar ao servidor FTP");

  if (!ftp_login($this->conn,$this->user,$this->pass)){

   die("Erro ao logar no servidor. Usuário ou senha inválidos.");

  }

 }

 function listar($modo,$dir,$ant,$dps) {

  if ($this->conn == "") die("Você deve conectar primeiro");

  if ($modo == "simples") {

   $lista = ftp_nlist($this->conn,$dir);

  } elseif ($modo == "detalhada") {

   $lista = ftp_rawlist($this->conn,$dir);

  }

  for ($x=0;$x<count($lista);$x++) {

   echo $ant.$lista[$x].$dps;

  }

 }

 function upload($fonte,$destino,$modo) {

  if ($this->conn == "") die("Você deve conectar primeiro");

  ftp_put($this->conn,$destino,$fonte,$modo);

 }

 function download($fonte,$destino,$modo) {

  if ($this->conn == "") die("Você deve conectar primeiro");

  ftp_get($this->conn,$destino,$fonte,$modo);

 }

 function renomear($antigo,$novo) {

  if ($this->conn == "") die("Você deve conectar primeiro");

  ftp_rename($this->conn,$antigo,$novo);

 }

 function deletar($alvo) {

  if ($this->conn == "") die("Você deve conectar primeiro");

  ftp_delete($this->conn,$alvo);

 }

 function diretorio($modo,$caminho) {

  if ($this->conn == "") die("Você deve conectar primeiro");

  if ($modo == "criar") {

   ftp_mkdir($this->conn,$caminho);

  } elseif ($modo == "remover") {

   ftp_rmdir($this->conn,$caminho);

  }

 }

 function tamanho($alvo) {

  if ($this->conn == "") die("Você deve conectar primeiro");

  $tam = ftp_size($this->conn,$alvo);

  if ($tam == -1) {

   echo "Arquivo não encontrado";

  } else {

   echo $tam;

  }

 }

}

?>

 

Flw! =D

Compartilhar este post


Link para o post
Compartilhar em outros sites

muito bom, tava procurando isso semana passada, um ftp online, pra subir umas coisas na faculdade, agora que eu sei que esse funfa, vou utilizar sempre. muito bom parabens http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/worshippy.gif http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Show de Bola !!!

Parabéns...

 

uma pergunta e ao mesmo tempo sugestão...

 

Criar subdominio !?! se adicionar isso fica ninja !

 

estou procurando em tudo quanto é canto e não acho nenhum codigo...

 

Falow

Compartilhar este post


Link para o post
Compartilhar em outros sites

criar um subdomino sem precisar entrar no cpanel, vamos supor se eu loga-se no seu ftp online e apartir dele conseguisse administrar os subdominios da minha conta.... Deve ser embassado mas estou precisando de algo do tipo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ve se é isso.

 

você tem um servidor com vários Usuários, kd um é um cliente seu...

você quer logar em 1 único usuário e ter controle de todos os seus clientes?

Se for isso basta ter um usuario cadastrado no servidor que não fique travado na pasta Home dele...

aih você pode rodar por todos os outros, e deixa o grupo dele com o mesmo grupo do resto, pra que

nenhum arquivo fique bloqueado pelas permicoes.

 

Flw!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde amigo, teste seu cliente de ftp e ele é show;;

 

nao consegui fazer funcionar.... tem como você postar o codigo da index, ou no caso da pagina que usamos pra login pra eu ver como usar a clase que você criou?

 

desde ja te agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia amigo,, primeiramente gostaria de agrader por seder o cliente ftp.. realmente ficou muito bom... mas gostaria de te fazer uma pergunta.. eu sou novo na questao de php oo. entoa gostaria de saber como faço pra poder escolher em que pasata o arquivo vai ser baixado?

 

desde já agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.