杰克工作室 发表于 2023-2-23 16:47

[拿来主义]PHP上传文件到oss

PHP上传文件到oss:
<pre>
/*
&nbsp;*&nbsp;上传本地文件到oss
&nbsp;*&nbsp;@param&nbsp;string&nbsp;$upload_dir
&nbsp;*/
function&nbsp;upload_file_to_oss($upload_dir,&nbsp;$filename)
{
&nbsp;&nbsp;&nbsp;&nbsp;config(rkcache(&#39;config&#39;,&nbsp;true));//取缓存配置
&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;$upload_type&nbsp;=&nbsp;config(&#39;upload_type&#39;);
&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;if($upload_type&nbsp;!=&nbsp;&#39;alioss&#39;)
&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;ret_arr(400,&nbsp;&#39;平台没有开放阿里云上传配置&#39;);
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;$accessId&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;config(&#39;alioss_accessid&#39;);
&nbsp;&nbsp;&nbsp;&nbsp;$accessSecret&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;config(&#39;alioss_accesssecret&#39;);
&nbsp;&nbsp;&nbsp;&nbsp;$bucket&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;config(&#39;alioss_bucket&#39;);
&nbsp;&nbsp;&nbsp;&nbsp;$endpoint&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;config(&#39;alioss_endpoint&#39;);
&nbsp;&nbsp;&nbsp;&nbsp;$aliendpoint_type&nbsp;=&nbsp;config(&#39;aliendpoint_type&#39;)&nbsp;==&nbsp;&#39;1&#39;&nbsp;?&nbsp;true&nbsp;:&nbsp;false;
&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;$tmparr&nbsp;=&nbsp;pathinfo($filename);
&nbsp;&nbsp;&nbsp;&nbsp;$filename_short&nbsp;&nbsp;&nbsp;=&nbsp;$tmparr[&#39;basename&#39;];
&nbsp;&nbsp;&nbsp;&nbsp;$object&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;$upload_dir&nbsp;.&nbsp;&#39;/&#39;&nbsp;.&nbsp;&nbsp;$filename_short;
&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;require_once&nbsp;VENDOR_PATH&nbsp;.&nbsp;&#39;aliyuncs/oss-sdk-php/autoload.php&#39;;
&nbsp;&nbsp;&nbsp;&nbsp;$OssClient&nbsp;=&nbsp;new&nbsp;\OSS\OssClient($accessId,&nbsp;$accessSecret,&nbsp;$endpoint,&nbsp;$aliendpoint_type);
&nbsp;&nbsp;&nbsp;&nbsp;try&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$fileinfo&nbsp;=&nbsp;$OssClient-&gt;uploadFile($bucket,&nbsp;$object,&nbsp;$filename);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;ret_arr(200,&nbsp;&#39;&#39;,&nbsp;$fileinfo[&#39;info&#39;][&#39;url&#39;]);
&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;catch&nbsp;(\OSS\Core\OssException&nbsp;$e)&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;ret_arr(400,&nbsp;$e-&gt;getErrorMessage());
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;
}</pre>
注:返回的为http协议的文件地址,非https。
页: [1]
查看完整版本: [拿来主义]PHP上传文件到oss