Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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](http://br.php.net/die)("HOST não definido");
if ($this->user == "") [die](http://br.php.net/die)("USER não definido");
if ($this->pass == "") [die](http://br.php.net/die)("PASS não definido");
$this->conn = ftp_connect($this->host) or [die](http://br.php.net/die)("Não foi possível conectar ao servidor FTP");
if (!ftp_login($this->conn,$this->user,$this->pass)){
[die](http://br.php.net/die)("Erro ao logar no servidor. Usuário ou senha inválidos.");
}
}
function listar($modo,$dir,$ant,$dps) {
if ($this->conn == "") [die](http://br.php.net/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](http://br.php.net/echo) $ant.$lista[$x].$dps;
}
}
function upload($fonte,$destino,$modo) {
if ($this->conn == "") [die](http://br.php.net/die)("Você deve conectar primeiro");
ftp_put($this->conn,$destino,$fonte,$modo);
}
function download($fonte,$destino,$modo) {
if ($this->conn == "") [die](http://br.php.net/die)("Você deve conectar primeiro");
ftp_get($this->conn,$destino,$fonte,$modo);
}
function renomear($antigo,$novo) {
if ($this->conn == "") [die](http://br.php.net/die)("Você deve conectar primeiro");
ftp_rename($this->conn,$antigo,$novo);
}
function deletar($alvo) {
if ($this->conn == "") [die](http://br.php.net/die)("Você deve conectar primeiro");
ftp_delete($this->conn,$alvo);
}
function diretorio($modo,$caminho) {
if ($this->conn == "") [die](http://br.php.net/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](http://br.php.net/die)("Você deve conectar primeiro");
$tam = ftp_size($this->conn,$alvo);
if ($tam == -1) {
[echo](http://br.php.net/echo) "Arquivo não encontrado";
} else {
[echo](http://br.php.net/echo) $tam;
}
}
}
?>
Flw! =D
Carregando comentários...