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";
?>