php_curl模拟登陆ftp上传图片

2022-10-11 21:18:30 123 0
魁首哥

有时我们在上传商品时,对于图片可能有自己的图片服务器,可以为此服务器搭建一个ftp,在上传商品时商品图片自动通过此功能上传图片到指定服务器中,不需要手动上传。下面小编就给大家介绍一下。希望对大家有所帮助。

代码如下:

//通过PHP自带ftp函数可以在ftp服务器上创建好文件夹

$conn = ftp_connect(“xxx.xxx.xxx.xxx”) or die(“Could not connect”);

ftp_login($conn,’用户名’,密码);

//创建指定文件夹

$wjj=date(‘Ymd’);

$filepath=”/product//”.$wjj;

//查看文件是否存在不存在就创建存在就不创建

//ftp_rawlist()读取ftp指定文件下文件名 读取不到返回false 判断如果没有文件就创建

if(ftp_rawlist($conn,$filepath)===false){

ftp_mkdir($conn,$filepath); //创建文件

}

function put_upload($img_name,$filepath){

//初始化

$ ch =curl_init();

//文件存放到ftp中的详细路径及名称名称可以动态设置

curl_setopt($ch,CURLOPT_URL,”ftp://xxx.xxx.xxx.xxx/”.$filepath.”/xxx.jpg”);

//不输出head 头文件

curl_setopt($ch,CURLOPT_HEADER,0);

//执行后不打印

curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);

//设置超时时间

curl_setopt($ch,CURLOPT_TIMEOUT,300);

//设置ftp服务器的账号密码,分号前是账号后面是密码

curl_setopt($ch,CURLOPT_USERPWD,”用户名:密码”);

//打开上传功能

curl_setopt($ch,CURLOPT_UPLOAD,1);

//上传文件名称

$localfile = $img_name;

//创建一个 句柄

$fp=fopen($localfile,’r’);

//把上传的数据存入这个句柄

curl_setopt($ch,CURLOPT_INFILE,$fp);

//执行这个文件

$rtn=curl_exec($ch);

//关闭句柄

fclose ($fp);

curl_close($ch);

return $rtn;

}

功能使用上都是没有问题的,对于一些优化,以及执行效率方面,待后期能力提升在进行优化,希望大家多多提点多多指教。一定虚心接受。

作者:吾林爱分享

收藏
分享
海报
0 条评论
123
上一篇:php和go写入MySQL速度谁更快? 下一篇:PHP与自动识别地址功能的结合

本站已关闭游客评论,请登录或者注册后再评论吧~

忘记密码?

图形验证码