For those who dont want to deal with handling the connection once created, here is a simple class that allows you to call any ftp function as if it were an extended method. It automatically puts the ftp connection into the first argument slot (as all ftp functions require).
This code is php 5.3+
<?php
class ftp{
public $conn;
public function __construct($url){
$this->conn = ftp_connect($url);
}
public function __call($func,$a){
if(strstr($func,'ftp_') !== false && function_exists($func)){
array_unshift($a,$this->conn);
return call_user_func_array($func,$a);
}else{
// replace with your own error handler.
die("$func is not a valid FTP function");
}
}
}
// Example
$ftp = new ftp('ftp.example.com');
$ftp->ftp_login('username','password');
var_dump($ftp->ftp_nlist());
?>
FTP
- 简介
- 安装/配置
- 预定义常量
- 范例
- FTP 函数
- ftp_alloc — Allocates space for a file to be uploaded
- ftp_cdup — 切换到当前目录的父目录
- ftp_chdir — 在 FTP 服务器上改变当前目录
- ftp_chmod — Set permissions on a file via FTP
- ftp_close — 关闭一个 FTP 连接
- ftp_connect — 建立一个新的 FTP 连接
- ftp_delete — 删除 FTP 服务器上的一个文件
- ftp_exec — 请求运行一条 FTP 命令
- ftp_fget — 从 FTP 服务器上下载一个文件并保存到本地一个已经打开的文件中
- ftp_fput — 上传一个已经打开的文件到 FTP 服务器
- ftp_get_option — 返回当前 FTP 连接的各种不同的选项设置
- ftp_get — 从 FTP 服务器上下载一个文件
- ftp_login — 登录 FTP 服务器
- ftp_mdtm — 返回指定文件的最后修改时间
- ftp_mkdir — 建立新目录
- ftp_nb_continue — 连续获取/发送文件(non-blocking)
- ftp_nb_fget — Retrieves a file from the FTP server and writes it to an open file (non-blocking)
- ftp_nb_fput — Stores a file from an open file to the FTP server (non-blocking)
- ftp_nb_get — 从 FTP 服务器上获取文件并写入本地文件(non-blocking)
- ftp_nb_put — 存储一个文件至 FTP 服务器(non-blocking)
- ftp_nlist — 返回给定目录的文件列表
- ftp_pasv — 返回当前 FTP 被动模式是否打开
- ftp_put — 上传文件到 FTP 服务器
- ftp_pwd — 返回当前目录名
- ftp_quit — ftp_close 的 别名
- ftp_raw — Sends an arbitrary command to an FTP server
- ftp_rawlist — 返回指定目录下文件的详细列表
- ftp_rename — 更改 FTP 服务器上的文件或目录名
- ftp_rmdir — 删除 FTP 服务器上的一个目录
- ftp_set_option — 设置各种 FTP 运行时选项
- ftp_site — 向服务器发送 SITE 命令
- ftp_size — 返回指定文件的大小
- ftp_ssl_connect — Opens an Secure SSL-FTP connection
- ftp_systype — 返回远程 FTP 服务器的操作系统类型
tendrid at gmail dot com ¶
1 year ago
asifkhandk at gmail dot com ¶
2 months ago
Upload file to server via ftp.
<?php
$ftp_server="";
$ftp_user_name="";
$ftp_user_pass="";
$file = "";//tobe uploaded
$remote_file = "";
// set up basic connection
$conn_id = ftp_connect($ftp_server);
// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// upload a file
if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) {
echo "successfully uploaded $file\n";
exit;
} else {
echo "There was a problem while uploading $file\n";
exit;
}
// close the connection
ftp_close($conn_id);
?>
