全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

php使用ftp实现文件上传与下载功能

本文实例为大家分享了php ftp文件上传与下载的具体代码,供大家参考,具体内容如下

ftp文件上传

php自带有ftp操作的函数包,一个比较简单实现的ftp文件上传操作可以通过以下几个步骤来完成:

1、确认ftp server的ip地址与port端口信息(如果使用的是默认端口则可以不关心);
2、进行ftp_connect操作,连接到ftp server(需要注意一下是否设置了port参数);
3、进行ftp_login操作,使用ftp用户名和密码进行登录;
4、这里开始区分,如果只需要把文件上传上去,没有其它要求的话,那在这里就可以进行文件上传的ftp_put操作了;如果对上传文件有按照目录存放的需求,那就继续向下进行;
5、使用ftp_nlist获取到给定的ftp目录下的目录与文件名称,检查一下需要的目录是否存在,若不存在则需要进行ftp_mkdir创建目录;
6、 切换到目标目录中ftp_chdir;
7、进行ftp_put操作上传文件;
8、进行ftp_close关闭ftp连接。

以在ftp中按照日期格式目录来进行上传文件的需求,做一个简单的代码实现:

<?php
$host = '10.0.0.42';
$user = 'uftp';
$pwd = 'uftp';

// 进行ftp连接,根据port是否设置,传递的参数会不同
if(empty($port)){
    $f_conn = ftp_connect($host);
}else{
    $f_conn = ftp_connect($host, $port);
}
if(!$f_conn){
    echo "connect fail\n";
    exit(1);
}
echo "connect success\n";

// 进行ftp登录,使用给定的ftp登录用户名和密码进行login
$f_login = ftp_login($f_conn,$user,$pwd);
if(!$f_login){
    echo "login fail\n";
    exit(1);
}
echo "login success\n";

// 获取当前所在的ftp目录
$in_dir = ftp_pwd($f_conn);
if(!$in_dir){
    echo "get dir info fail\n";
    exit(1);
}
echo "$in_dir\n";

// 获取当前所在ftp目录下包含的目录与文件
$exist_dir = ftp_nlist($f_conn, ftp_pwd($f_conn));
print_r($exist_dir);

// 要求是按照日期在ftp目录下创建文件夹作为文件上传存放目录
echo date("Ymd")."\n";
$dir_name = date("Ymd");
// 检查ftp目录下是否已存在当前日期的文件夹,如不存在则进行创建
if(!in_array("$in_dir/$dir_name", $exist_dir)){
    if(!ftp_mkdir($f_conn, $dir_name)){
        echo "mkdir fail\n";
        exit(1);
    }else{
        echo "mkdir $dir_name success\n";
    }
}
// 切换目录
if(!ftp_chdir($f_conn, $dir_name)){
    echo "chdir fail\n";
    exit(1);
}else{
    echo "chdir $dir_name success\n";
}
// 进行文件上传
$result = ftp_put($f_conn, 'bbb.mp3', '/root/liang/ftp/bbb.mp3', FTP_BINARY);
if(!$result){
    echo "upload file fail\n";
    exit(1);
}else{
    echo "upload file success\n";
    exit(0);
}

打印:

root@webdevelop232:~/liang/ftp# php ftp.php 
connect success
login success
/home/uftp
Array
(
  [0] => /home/uftp/Kalimba.mp3
  [1] => /home/uftp/test.txt
)
20170721
mkdir 20170721 success
chdir 20170721 success
upload file success

可以看到打印的操作成功了,这时候去ftp server的目录下,就能够看到上传的文件了。

ftp文件下载

相对于文件上传来讲,使用php来进行ftp文件下载的实在是不多见,但既然有这个功能,就说明总可能会有人使用,所以也做一个简单的示例。

就以上面上传的bbb.mp3文件为下载目标来进行操作,把它下载到当前目录,命名为1.mp3:

<?php
$host = '10.0.0.42';
$uname = 'uftp';
$upwd = 'uftp';

// 进行ftp连接
if(empty($port)){
  $f_conn = ftp_connect($host);
}else{
  $f_conn = ftp_connect($host, $port);
}
if(!$f_conn){
  echo "ftp connect fail\n";
  exit(1);
}
// 进行ftp登录
if(!ftp_login($f_conn, $uname, $upwd)){
  echo "ftp login fail\n";
  exit(1);
}
// 进行ftp下载
if(!ftp_get($f_conn, './1.mp3', ftp_pwd($f_conn).'/'.date('Ymd').'/bbb.mp3', FTP_BINARY)){
  echo "ftp download fail\n";
  exit(1);
}else{
  echo "ftp download success\n";
  exit(0);
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# php  # ftp  # 上传  # 下载  # PHP中ajax无刷新上传图片与图片下载功能  # php+ajax实现带进度条的上传图片功能【附demo源码下载】  # PHP SFTP实现上传下载功能  # PHP实现文件上传下载实例  # PHP操作FTP类 (上传、下载、移动、创建等)  # PHP实现文件上传与下载实例与总结  # php多文件上传下载示例分享  # php上传apk后自动提取apk包信息的使用(示例下载)  # php下连接ftp实现文件的上传、下载、删除文件实例代码  # 详解PHP素材图片上传、下载功能  # 文件上传  # 目录下  # 上传文件  # 的是  # 在这里  # 那就  # 只需  # 把它  # 要把  # 作了  # 可以通过  # 可以看到  # 做一个  # 则可  # 相对于  # 大家分享  # 若不  # 命名为  # 如不 


相关文章: 网站代码制作软件有哪些,如何生成自己网站的代码?  建站为何优先选择香港服务器?  如何快速选择适合个人网站的云服务器配置?  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  如何通过WDCP绑定主域名及创建子域名站点?  如何在腾讯云服务器上快速搭建个人网站?  C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换  ,sp开头的版面叫什么?  建站之星后台管理:高效配置与模板优化提升用户体验  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  怎么将XML数据可视化 D3.js加载XML  视频网站app制作软件,有什么好的视频聊天网站或者软件?  如何高效利用亚马逊云主机搭建企业网站?  网站制作报价单模板图片,小松挖机官方网站报价?  盘锦网站制作公司,盘锦大洼有多少5G网站?  桂林网站制作公司有哪些,桂林马拉松怎么报名?  建站之星备案是否影响网站上线时间?  简单实现Android验证码  建站主机与虚拟主机有何区别?如何选择最优方案?  图册素材网站设计制作软件,图册的导出方式有几种?  如何确保西部建站助手FTP传输的安全性?  c++怎么用jemalloc c++替换默认内存分配器【性能】  自助网站制作软件,个人如何自助建网站?  高性价比服务器租赁——企业级配置与24小时运维服务  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  如何在阿里云完成域名注册与建站?  如何选择美橙互联多站合一建站方案?  ,有什么在线背英语单词效率比较高的网站?  武清网站制作公司,天津武清个人营业执照注销查询系统网站?  SQL查询语句优化的实用方法总结  交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?  企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?  浅析上传头像示例及其注意事项  宝塔建站教程:一键部署配置流程与SEO优化实战指南  如何在IIS7中新建站点?详细步骤解析  公司网站制作价格怎么算,公司办个官网需要多少钱?  如何通过建站之星自助学习解决操作问题?  建站之星安装后界面空白如何解决?  高端企业智能建站程序:SEO优化与响应式模板定制开发  如何在万网主机上快速搭建网站?  建站主机SSH密钥生成步骤及常见问题解答?  建站之星备案流程有哪些注意事项?  如何在云主机快速搭建网站站点?  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  表情包在线制作网站免费,表情包怎么弄?  详解jQuery中基本的动画方法  个人网站制作流程图片大全,个人网站如何注销?  建站之星北京办公室:智能建站系统与小程序生成方案解析  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  齐河建站公司:营销型网站建设与SEO优化双核驱动策略 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。