您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

PHP通过FTP上传文件详解介绍_PHP教程

2024/3/20 14:10:21发布28次查看
本文章来总结几个利用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;
// set up a connection or die
$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;
    }
// try to login
 $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); //ftp上传原图到远程服务器
if(!$ftpput){
echo 上传图片到远程服务器失败!;
}
$ftp->bye(); //关闭ftp连接
}
附上ftp操作类:
ftpurl=$ftpurl;
}
if($ftpuser){
$this->ftpuser=$ftpuser;
}
if($ftppass){
$this->ftppass=$ftppass;
}
if($ftpurl){
$this->ftpdir=$ftpdir;
}
if ($this->ftpr = ftp_connect($this->ftpurl, 21)) {
if (ftp_login($this->ftpr, $this->ftpuser, $this->ftppass)) {
if (!empty($this->ftpdir)) {
ftp_chdir($this->ftpr, $this->ftpdir);
}
ftp_pasv($this->ftpr, true);//r 启用被动模式;
$status = 1;
} else {
$status = 3;
}
} else {
$status = 2;
}
}
//r 切换目录;
function cd($dir) {
return ftp_chdir($this->ftpr, $dir);
}
//r 返回当前路劲;
function pwd() {
return ftp_pwd($this->ftpr);
}
//r 创建目录
function mkdir($directory) {
return ftp_mkdir($this->ftpr,$directory);
}
//r 删除目录
function rmdir($directory) {
return ftp_rmdir($this->ftpr,$directory);
}
//r 上传文件;
function put($localfile, $remotefile = '') {
if ($remotefile == '') {
$remotefile = end(explode('/', $localfile));
}
$res = ftp_nb_put($this->ftpr, $remotefile, $localfile, ftp_binary);
while ($res == ftp_moredata) {
$res = ftp_nb_continue($this->ftpr);
}
if ($res == ftp_finished) {
return true;
} elseif ($res == ftp_failed) {
return false;
}
}
//r 下载文件;
function get($remotefile, $localfile = '') {
if ($localfile == '') {
$localfile = end(explode('/', $remotefile));
}
if (ftp_get($this->ftpr, $localfile, $remotefile, ftp_binary)) {
$flag = true;
} else {
$flag = false;
}
return $flag;
}
//r 文件大小;
function size($file) {
return ftp_size($this->ftpr, $file);
}
//r 文件是否存在;
function isfile($file) {
if ($this->size($file) >= 0) {
return true;
} else {
return false;
}
}
//r 文件时间
function filetime($file) {
return ftp_mdtm($this->ftpr, $file);
}
//r 删除文件;
function unlink($file) {
return ftp_delete($this->ftpr, $file);
}
function nlist($dir = '/service/resource/') {
return ftp_nlist($this->ftpr, $dir);
}
//r 关闭连接;
function bye() {
return ftp_close($this->ftpr);
}
}
?>
http://www.bkjia.com/phpjc/445297.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/445297.htmltecharticle本文章来总结几个利用php中的ftp功能来实现通过ftp上传文件,有需要学习的朋友可参考参考。 ftp_get() 函数从 ftp 服务器上下载一个文件。...
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product