本文章来总结几个利用php中的ftp功能来实现通过FTP上传文件,有需要学习的朋友可参考参考.
ftp_get() 函数从 FTP 服务器上下载一个文件,若成功则返回 true,失败则返回 false.
语法:ftp_get(ftp_connection,local,remote,mode,resume)
ftp_connect() 函数建立一个新的 FTP 连接,若成功,则返回一个连接标识,否则返回 false.
语法:ftp_connect(host,port,timeout)
ftp_login() 函数登录 FTP 服务器,若成功则返回 true,失败则返回 false 并发出一个警告.
语法:ftp_login(ftp_connection,username,password)
三个函数己经介绍好了,现在开始了.
例1,代码如下:
-
$ftp_server = "*.*.*.*";
-
$ftp_user = "lu";
-
$ftp_pass = "love you";
-
-
$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");
-
$login_result = ftp_login($conn_id, $ftp_user, $ftp_pass);
-
if ((!$conn_id) || (!$login_result)) {
-
echo "FTP connection has failed!";
-
echo "Attempted to connect to $ftp_server for user $ftp_user_name";
-
exit;
-
} else {
-
echo "Connected to $ftp_server, for user $ftp_user_name";
-
}
-
-
$filename=date('Ymd').".xml";
-
$source_file="/usr/local/IVR/sendwireless/xml/data/".$filename;
-
echo $source_file;
-
$destination_file="/ITC/admin/logstat/ftplog/".$filename;
-
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY) or die("Couldn't connect to $ftp_server");
-
ftp_quit($conn_id);
-
if (!$upload) {
-
echo "FTP upload has failed!";
-
} else {
-
echo "Uploaded $source_file to $ftp_server as $destination_file";
-
}
-
ftp_close($conn_id);
上传时先传至本地对文件作必要的修改,如加水印等等操作,然后再通过FTP传至远程服务器.
例2,代码如下:
-
-
if ($_FILES['pic']['name'])
-
{
-
$file_path='/opt/www/img/';
-
$pic = upload('pic', $filename, 'jpg|jpeg|gif|bmp|png', $file_path);
-
if(!$pic)
-
{
-
echo "图片上传失败!";
-
exit;
-
}
-
require_once(ROOT_PATH . 'Lib/Class/Ftp.class.php');
-
$ftp = new ftp("127.0.0.1","gamezeroftp","123456","/opt/www");
-
$localfile='/opt/www/img/'.$pic;
-
$remotefile='/opt/www/gamepics/'.$pic;
-
$ftpput = $ftp->put($localfile, $remotefile);
-
if(!$ftpput){
-
echo "上传图片到远程服务器失败!";
-
}
-
$ftp->bye();
-
}
附上FTP操作类,代码如下:
-
ftpUrl=$ftpUrl;
-
}
-
if($ftpUser){
-
$this->ftpUser=$ftpUser;
-
}
-
if($ftpPass){
-
$this->ftpPass=$ftpPass;
-
}
-
if($ftpUrl){
-