使用方法·
<?php
$conn = ftp_connect('ftp.server.com');
ftp_login($conn, "john", "doe");
ftp_systype($conn);
$filelist = ftp_nlist($conn, ".");
ftp_get($conn, "data.zip", "data.zip", FTP_BINARY);
ftp_quit($conn);
$conn = ftp_connect('ftp.server.com');
ftp_login($conn, "john", "doe");
ftp_quit($conn);
ftp_pwd();
$here = ftp_pwd($conn);
$server_os = ftp_systype($conn);
ftp_pasv($conn, 1);
ftp_chdir($conn, "public_html");
ftp_cdup($conn);
ftp_mkdir($conn, "test");
ftp_rmdir($conn, "test");
ftp_put($conn, "xyz.txt", "abc.txt", FTP_ASCII);
ftp_get($conn, "hers.zip", "his.zip", FTP_BINARY);
$filelist = ftp_nlist($conn, ".");
$filelist = ftp_size($conn, "data.zip");
类库
<?php
class ftp
{
public $off;
public $conn_id;
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,1);
}
function up_file($path,$newpath,$type=true)
{
if($type) $this->dir_mkdirs($newpath);
$this->off = @ftp_put($this->conn_id,$newpath,$path,FTP_BINARY);
if(!$this->off) echo "文件上传失败,请检查权限及路径是否正确!";
}
function move_file($path,$newpath,$type=true)
{
if($type) $this->dir_mkdirs($newpath);
$this->off = @ftp_rename($this->conn_id,$path,$newpath);
if(!$this->off) echo "文件移动失败,请检查权限及原路径是否正确!";
}
function copy_file($path,$newpath,$type=true)
{
$downpath = "c:/tmp.dat";
$this->off = @ftp_get($this->conn_id,$downpath,$path,FTP_BINARY);
if(!$this->off) echo "文件复制失败,请检查权限及原路径是否正确!";
$this->up_file($downpath,$newpath,$type);
}
function del_file($path)
{
$this->off = @ftp_delete($this->conn_id,$path);
if(!$this->off) echo "文件删除失败,请检查权限及路径是否正确!";
}
function dir_mkdirs($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);
}
}
function close()
{
@ftp_close($this->conn_id);
}
}