Ftp操作类

 <?php 

/**
 * 作用:FTP操作类
 * 作者:军
 * 时间:2010-7-5
 */
 
class FtpAction{
public $off;  //返回操作状态
public $conn_id; //FTP连接
/**
* 方法:构造函数
* $FTP_HOST -- FTP主机
* $FTP_PORT -- 端口
* $FTP_USER -- 用户名
* $FTP_PASS -- 密码
*/
function __construct($FTP_HOST,$FTP_PORT,$FTP_USER,$FTP_PASS){
$this->conn_id = ftp_connect($FTP_HOST,$FTP_PORT) or die("FTP服务器连接失败!");
ftp_login($this->conn_id,$FTP_USER,$FTP_PASS) or die("FTP服务器登陆失败!");
ftp_pasv($this->conn_id,TRUE); //开启被动模式
}//End
/**
* 方法:创建FTP服务器目录
* $path:路径
*/
function mkdirs_ftp($path){
$path_arr  = explode('/',$path); //取目录数组
$file_name = array_pop($path_arr); //弹出文件名
$path_div = count($path_arr); //取层数
foreach ($path_arr as $val){
if (ftp_chdir($this->conn_id,$val) == FALSE){
$tmp = ftp_mkdir($this->conn_id,$val);
if ($tmp == FALSE){
echo "目录创建失败,请检查权限及路径是否正确!";
exit();
}
ftp_chdir($this->conn_id,$val);
}
}
for ($i=1;$i<$path_div;$i++){ //回退到根
ftp_cdup($this->conn_id);
}
}//End mkdirs
/**
* 方法:删除文件
* $path:路径
*/
function del_ftp($path){
$this->off = ftp_delete($this->conn_id,$path);
if (!$this->off) {
echo "文件删除失败,请检查权限及路径是否正确!";
exit();
}
}//End del_ftp
/**
* 方法:上传文件
* $local_path  : 本地路径
* $upload_path : 上传路径
* $type : 若目标目录不存在则新建(true)--false则不建
*/
function up_file($local_path,$upload_path,$type=true){
if ($type) $this->mkdirs_ftp($upload_path);
$this->off = ftp_put($this->conn_id,$upload_path,$local_path,FTP_BINARY);
if (!$this->off){
echo "文件上传失败,请检查权限及路径是否正确!";
exit();
}
}//End up_file
/**
* 方法:移动文件
* $oldpath:原路径
* $newpath:新路径
* $type:若目标目录不存在则新建(true)--false则不建
*/
function move_file($oldpath,$newpath,$type){
if ($type) $this->mkdirs_ftp($newpath);
$this->off = ftp_rename($this->conn_id,$oldpath,$newpath);
if (!$this->off){
echo "文件移动失败,请检查权限及路径是否正确!";
exit();
}
}//End move_file
/**
* 方法:复制文件
* $oldpath:原路径
* $newpath:新路径
* $type:若目标目录不存在则新建(true)--false则不建
*/
function copy_file($oldpath,$newpath,$type){
$downpath = "c:/tmp.dat"; //下载后再上传到新的路径,此为下载地目录地址
$this->off = ftp_get($this->conn_id,$downpath,$oldpath,FTP_BINARY); //下载
if (!$this->off){
echo "文件复制失败,请检查权限及路径是否正确!";
exit();
}else{
$this->up_file($downpath,$newpath,$type);
}
}//End copy_file
function pwd(){
$str = ftp_pwd($this->conn_id);
return $str;
}//End pwd
 
function nlist(){
$arr = ftp_nlist($this->conn_id,"/");
return $arr;
}
/**
* 方法:关闭FTP连接
*/
function close(){
ftp_close($this->conn_id);
}//End close
}//End FtpAction
?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值