介绍
本篇文章给大家分享的是有关使用ThinkPHP框架怎么实现FTP图片上传功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
<强> 1。前端设计强>
这里主要为了测试功能的实现,使用最简单的设计,既方便参考又有利于后期的功能扩展。如下附上传。html主要代码,着重注意红框圈出的代码,其中css样式比较简单,需要的可以参考后面的源代码。
<强> 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图片上传功能