使用ThinkPHP框架怎么实现FTP图片上传功能

  介绍

本篇文章给大家分享的是有关使用ThinkPHP框架怎么实现FTP图片上传功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

<强> 1。前端设计

这里主要为了测试功能的实现,使用最简单的设计,既方便参考又有利于后期的功能扩展。如下附上传。html主要代码,着重注意红框圈出的代码,其中css样式比较简单,需要的可以参考后面的源代码。

使用ThinkPHP框架怎么实现FTP图片上传功能

<强> 2。后台控制器设计

config.class。php主要代码如下所示,其中设计的表“相依”在此只需用两个字段就好——& # 39;标签# 39;& # 39;价值# 39;,可以使用简单的varchar类型。

public  function 上传(){   if 才能;(IS_POST) {   ,,,foreach  (_FILES 美元;as  key 美元;=祝辞,美元值){   ,,,,,img 美元;=,handleImg(关键);   ,,,,,furl 美元;=,C (& # 39; REMOTE_ROOT& # 39;)。img美元;   ,,,,,if  (img美元){   ,,,,,,,ftp_upload(卷起,img美元);   ,,,,,,,美元saveData[& # 39;价值# 39;],=,img美元;   ,,,,,,,米(& # 39;相依# 39;)   ,,,,,,,,,,,(“tag =, & # 39;“。美元关键!”& # 39;“)   ,,,,,,,,,→保存($ saveData);   ,,,,,}   ,,,}   ,,,这个→美元成功(& # 39;FTP 测试完成& # 39;,U(& # 39;配置/上传# 39;),2);   }{其他才能   ,,,imgUrl 美元;=,M(& # 39;相依# 39;)   ,,,,,,,(“tag =, & # 39; upImg& # 39;“)   ,,,,,→getField(& # 39;价值# 39;);   ,,,这个→美元分配(& # 39;imgUrl& # 39;, imgUrl美元);   ,,,这美元→显示();   ,,}   }

<强> 3。配置数据

在公共配置文件中,进行如下常量的数据配置,参考代码如下,注意配置FTP账号及密码的正确性,此处安全起见只是举例。

//FTP(外网服务器)上传文件相关参数   & # 39;FTP_SEVER& # 39;,,,,=祝辞,& # 39;http://img.52zhenmi.com& # 39;,,//此地址,作为图片读取的位置,请上线前仔细确认   & # 39;FTP_HOST& # 39;,,,,=祝辞,& # 39;img.52zhenmi.com& # 39;   & # 39;WEB_SEVER& # 39;,,,=祝辞,& # 39;http://img.52zhenmi.com& # 39;   & # 39;WEB_M_SERVER& # 39;,,=祝辞,& # 39;http://www.52zhenmi.com/m& # 39;   & # 39;FTP_NAME& # 39;,,,,=祝辞,& # 39;fexxxi& # 39;,//ftp帐户   & # 39;FTP_PWD& # 39;,,,,=祝辞,& # 39;1 qxxxxxxw& # 39;//ftp密码   & # 39;ftp_port # 39;,,,,=祝辞,& # 39;21 & # 39;//ftp端口,默认为21   & # 39;FTP_PASV& # 39;,,,,=祝辞,真的,//是否开启被动模式,真正的开启,默认不开启   & # 39;FTP_SSL& # 39;,,,,=祝辞,假的,//ssl连接,默认不开启   & # 39;FTP_TIMEOUT& # 39;,,=祝辞,60,//超时时间,默认60,单位,s   & # 39;REMOTE_ROOT& # 39;,,=祝辞,& # 39;/& # 39;//图片服务器根目录

<强> 4。引入文件

以我的代码为例,在此引用了两个文件,其中的FTP.class。php放在了& # 39;/图书馆/认为# 39;目录下,Upload.class。php放在了& # 39;/图书馆/Org/Net& # 39;目录下,可根据自己的使用习惯自行调整目录,只要保证实例化路径时没问题就可。

<强> 5。公共函数添加

注意添加上文步骤2中使用到的公共函数。

/* *   ,*图片上传的公共处理方法   ,* @param  string  fileName 美元;图片上传的名字   ,* @return  string 图片的存储路径   ,*/function  handleImg ($ fileName) {   如果才能(带有_file美元($ fileName) [& # 39; tmp_name& # 39;], !=,““) {   ,,,img 美元;=,带有_file美元($ fileName);   ,,,imgUrl 美元;=,__ROOT__ !”/public";   ,,,upload 美元;=,new 净\ \ Org \上传(img美元,,imgUrl美元);   ,,,return 上传→美元主要();   ,,}   }//FTP上传文件函数   function  ftp_upload (remotefile, localfile美元){   时间=美元才能ftp  new  \认为\ Ftp ();   美元才能数据(& # 39;服务器# 39;],=,C (& # 39; FTP_HOST& # 39;);   美元才能数据(& # 39;用户名# 39;],=,C (& # 39; FTP_NAME& # 39;);//ftp帐户   美元才能数据(& # 39;密码# 39;],=,C (& # 39; FTP_PWD& # 39;);//ftp密码   美元才能数据(& # 39;港口# 39;],=,C (& # 39; ftp_port # 39;);//ftp端口,默认为21   美元才能数据(& # 39;pasv& # 39;],=, C (& # 39; FTP_PASV& # 39;);//是否开启被动模式,真正的开启,默认不开启   美元才能数据(& # 39;ssl # 39;],=, C (& # 39; FTP_SSL& # 39;);//ssl连接,默认不开启   美元才能数据(& # 39;超时# 39;],=,C (& # 39; FTP_TIMEOUT& # 39;);//超时时间,默认60,单位,s   美元才能info =, ftp→美元开始(元数据);   如果才能($ info) {   ,,,如果(ftp→美元(remotefile, localfile美元)){}   ,,}   ftp→美元才能关闭();   }

使用ThinkPHP框架怎么实现FTP图片上传功能