当前位置:Linux教程 - Php - ftp类

ftp类

ftp类
刁馋 计算机技术开发俱乐部 2004-02-26 13


ftp类(myftp.php)


<?php

class myftp {

    var
$connector;
    var
$getback;
    
    function
connect($ftp_server, $uname, $passwd){
    
// Baut grundlegende FTP Connection auf
        
$this->connector = @ftp_connect($ftp_server);
        
$this->login_result = @ftp_login($this->connector, "$uname", "$passwd");
        if ((!
$this->connector) ││ (!$this->login_result))
        {
                echo
"FTP connection has failed! n";
                echo
"Attempted to connect to $ftp_server for user $uname n";
                die;
            } else {
                echo
"Connected to $ftp_server, for user $uname n";
            }
    }

    function
lastmodtime($value){
        
$getback = ftp_mdtm ($this->connector,$value);
        return
$getback;
    }

    function
changedir($targetdir){
        
$getback = ftp_chdir($this->connector, $targetdir);
        return
$getback;
    }
    function
getdir(){    
        
$getback = ftp_pwd($this->connector);
        return
$getback;
    }
    
    function
get_file_list($directory){    
        
$getback = ftp_nlist($this->connector, $directory);
        return
$getback;
    }
    
    function
get_file($file_to_get, $mode, $mode2){
        
$realfile = basename($file_to_get);
        
$filename = $realfile;
        
        
$checkdir = @$this->changedir($realfile);
        if (
$checkdir == TRUE){
            
ftp_cdup($this->connector);
            echo
"n[DIR] $realfile";
        }else{
            echo
"..... ". $realfile ."n";
            
$getback = ftp_get($this->connector, $filename, $realfile, $mode);
            if (
$mode2){
                
$delstatus = ftp_delete($this->connector, $file_to_get);
                if (
$delstatus == TRUE){
                    echo
"File $realfile on $host deleted n";
                }
            }
        }
        return
$getback;
    }
    
    function
mode($pasvmode){
        
$result = ftp_pasv($this->connector, $pasvmode);
    }
    
    function
ftp_bye(){
        
ftp_quit($this->connector);
        return
$getback;
    }
}

?>

<?php
flush
();

$ftp_ini_datei         = $argv[1];

require (
'./ftp_class.php');
require (
$ftp_ini_datei);

echo
"nCronjob started : ";
echo
date("d.m.Y  - H:i:s");
echo
"n";

$newftp         = new myftp;

if(!
$anonymous){
    
$result     = $newftp->connect($host, $user, $password);
}else{
    
$result        = $newftp->connect($host, "anonymous", "[email protected]");
}

if (!
$result){
    
$mydir         = $newftp->changedir($remote_dir);
    
$mydir        = $newftp->getdir();
    
$merkold_dir    = getcwd();
    
chdir($local_dir);
    
$mylist     = Array();
    
$mylist     = $newftp->get_file_list($mydir);


    
    for (
$i=0; $i < sizeof($mylist); $i++)
    {
        
$result = $newftp->get_file($mylist[$i], $mymode, $delete);
    }

    
$result     = $newftp->ftp_bye();

}else{

    echo
"----------------------------------n";
    echo
"no connection established :(      n";
    echo
"----------------------------------n";

}

echo
"nnCronjob stopped : ";
echo
date("d.m.Y - H:i:s");
echo
"n";
?>