PHP上传图片至远程服务器

广告也精彩

将图片上传至图片服务器,在项目开发过程中有很大概率会遇到,在动静分离的今日,将静态资源单独拿出来是一种趋势,下面分享一下在实际开发过程中的应用,将代码分享出来。一、逻辑首先,我们以thinkphp框架为基础,在表单或ajax(包含JS组件)提交图片信息至服务器时,我们首先将资源上传至本地服务器,在上传时可进行图片的压缩、裁剪、重命名等操作。关于图片处理不做太多的说明,本方案是将上传资源再次上传至服务器,然后删除本地资源,返回或保存服务器图片路径。二、说明本方案采用PHP内置函数,需要有ftp地址、账户、密码、端口;ftp_connect 打开 FTP 连接ftp_login 登录 FTP 服务器。ftp_nlist 返回指定目录的文件列表。ftp_mkdir 在

PHP上传图片至远程服务器

FTP 服务器创建一个新目录。ftp_chdir 改变 FTP 服务器上的当前目录。ftp_put 把文件上传到服务器ftp_close 关闭 FTP
连接。三、示例代码/*** 上传图片至远程服务器* @param $path string 图片路径* @param $status int 是否是本地图片 默认为本地图片* @param $type int 是否删除 默认为删除* @return bool*/function uploadServer($path, $status = 1, $type = 1){if (!$path) {return false;}//ftp 配置参数$ftpIp = ‘1.2.3.4’; //ip地址$port = 21; //端口号$timeOut = 90; //响应时间$name = ‘zhanghu’; //ftp 账户$pass = ‘mima’; //ftp 密码$uploadPath = ‘/img/’;//连接ftp$conn = ftp_connect($ftpIp, $port, $timeOut) or die(“Could not connect”);//登录frpftp_login($conn, $name, $pass);//返回当前目录名称$nowDir = date(‘Ymd’, time());$res = ftp_nlist($conn, $nowDir);if (!$res) {//不存在目录,则创建ftp_mkdir($conn, $nowDir);}//切换目录 至 上传目录ftp_chdir($conn, $nowDir);//服务器文件名称,规则 MD5 加密当前时间戳,文件名后缀为 jpg$serverName = md5(time()) . ‘.jpg’;//上传图片$result = ftp_put($conn, $serverName, $path, FTP_BINARY);if ($result === FALSE) {return [‘code’ => 100, ‘msg’ => ‘上传失败’];} else {//本地图片 and 删除原图if ($status == 1 && $type == 1) {//删除本地文件unlink($path);}return [‘code’ => 200, ‘msg’ => ‘上传成功’, ‘data’ => $uploadPath .
$nowDir . ‘/’ . $serverName];}//关闭连接ftp_close($conn);}

 

转载于天翼云知识,如有侵权,请联系删除,谢谢

© 版权声明
广告也精彩

相关文章

广告也精彩

暂无评论

暂无评论...