thinkphp中使用ftp上传图片的方法

  介绍

小编给大家分享一下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);   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

thinkphp中使用ftp上传图片的方法