博客网站开发背景及作用,为企业做网站策划案,微信如何做公众号,cms网站建站流程转载请声明出处#xff01; 环境必须:阿里云OSS php SDK 阿里云OSS php SDK地址:https://github.com/aliyun/aliyun-oss-php-sdk?spma2c4g.11186623.2.9.564522154eaqQP 我是直接下载下来丢到tp5 目录下的 vendor/aliyun 目录下 系统环境:centos 6.5
在项目中正确的加入了ph…转载请声明出处 环境必须:阿里云OSS php SDK 阿里云OSS php SDK地址:https://github.com/aliyun/aliyun-oss-php-sdk?spma2c4g.11186623.2.9.564522154eaqQP 我是直接下载下来丢到tp5 目录下的 vendor/aliyun 目录下 系统环境:centos 6.5
在项目中正确的加入了php sdk 后那么直接在配置文件中修改以下的配置文件信息直接套用注意还有一个存储空间名在代码中有标准将空间名改成你的空间名即可还有本项目我是用来做img上传的其他文件也一样不过建议根据自己项目需求修改下最好。还有一点由于本人暂时不用考虑服务器的问题。所以是在web端操作经过服务器处理上传并没有直接上传阿里的OSS。希望各位可以留言留下更好的方法~谢谢
以下扩展类有几个配置项 config(webpath_local) :web的绝对路径与 ‘vendor/aliyun/autoload.php’ 拼接在类中引用 config(accessKeyId): config(accessKeySecret). config(endpoint): 你的阿里云的 accessKeyId,accessKeySecret,endpoint 加入到配置文件中即可
如何调用 首先在tp类头部use在此注意轮子扩展类的文件名为 aliyun.php use aliyun\aliyun\aliyun; 然后简单调用代码 $aliyun new aliyun();//实例化阿里云上传扩展类$fileMsg$_FILES;//前端给予的文件信息$aliyunUrlResult$aliyun-Uploadaliyunoss($fileMsg);//传入阿里云OSS上传方法。也就是轮子的上传方法 轮子
?php
namespace aliyun\aliyun; \\当前命名空间
//引入文件
if (is_file(config(webpath_local) . vendor/aliyun/autoload.php)) {require_once config(webpath_local) . vendor/aliyun/autoload.php;
}use OSS\OssClient;
use OSS\Core\OssException;
use OSS\Http\RequestCore;
use OSS\Http\ResponseCore;class aliyun
{public function Uploadaliyunoss($fileMsgnull){$accessKeyId config(accessKeyId);$accessKeySecret config(accessKeySecret);// Endpoint以杭州为例其它Region请按实际情况填写。$endpoint config(endpoint);// 存储空间名称。$bucket 你的存储空间名称;// 文件名称$object time().$_FILES[img][name];// yourLocalFile由本地文件路径加文件名包括后缀组成例如/users/local/myfile.txt$filePath $_FILES[img][tmp_name];try {$ossClient new OssClient($accessKeyId, $accessKeySecret, $endpoint);// 设置Socket层传输数据的超时时间单位秒默认5184000秒。$ossClient-setTimeout(3600);// 设置建立连接的超时时间单位秒默认10秒。$ossClient-setConnectTimeout(10);$res $ossClient-doesBucketExist($bucket);if ($res true) {//print(__FUNCTION__ . : OK . \n);} else {//print(__FUNCTION__ . : FAILED . \n);}$UploadResult$ossClient-uploadFile($bucket, $object, $filePath);//返回上传后的访问url如果没有设置公共读将会读取不到设置公共读后将不是很安全return $UploadResult[info][url];} catch (OssException $e) {print $e-getMessage();printf($e-getMessage() . \n);return;}}
}