网站开发 价格,跨境支付互联互通,深圳网站开发外包公司,品牌营销为什么80%的码农都做不了架构师#xff1f; 0、配置文件Config#xff0c;加入OSS配置选项#xff0c;设置php.ini最大上传大小#xff08;自行解决#xff0c;这里不做演示#xff09; OSS array(ACCESS_KEY_ID **************, //从OSS获得的… 为什么80%的码农都做不了架构师 0、配置文件Config加入OSS配置选项设置php.ini最大上传大小自行解决这里不做演示 OSS array(ACCESS_KEY_ID **************, //从OSS获得的AccessKeyIdACCESS_KEY_SECRET **************, //从OSS获得的AccessKeySecretENDPOINT oss-cn-beijing.aliyuncs.com, //您选定的OSS数据中心访问域名例如oss-cn-hangzhou.aliyuncs.comBUCKETycwlwhg), 1、index.html form action{:U(Home/Oss/post)} methodpost enctypemultipart/form-datainput typetext namedir placeholder文件夹input typefile namefile[] multiple /input typesubmit value上传/form 2、下载阿里云OSS的PHPSDK 放置于ThinkPHP/Library/Vendor/下起名叫OSS图示 3、上传类 ?phpnamespace Home\Controller;use OSS\Core\OssException;
use OSS\OssClient;
use Think\Controller;class OssController extends Controller
{public function index(){$this-display();}//获取文件名//true 文件名 false后缀function retrieve($file, $type true){$arr explode(., $file);if ($type) {return $arr[0];} else {return $arr[1];}}function Directory($dir){if (is_dir($dir) || mkdir($dir, 0777)) { //查看目录是否已经存在或尝试创建加一个抑制符号是因为第一次创建失败会报一个“父目录不存在”的警告。//echo $dir . 创建成功br; //输出创建成功的目录} else {$dirArr explode(/, $dir); //当子目录没创建成功时试图创建父目录用explode()函数以/分隔符切割成一个数组array_pop($dirArr); //将数组中的最后一项即子目录弹出来$newDir implode(/, $dirArr); //重新组合成一个文件夹字符串$this-Directory($newDir); //试图创建父目录mkdir($dir, 0777);}}public function post(){//要上传至OSS的文件夹路径 如 dir/dir1/dir2$dir I(dir);$upload new \Think\Upload();// 实例化上传类$upload-maxSize 3145728;// 设置附件上传大小$upload-rootPath ./Public/; // 设置附件上传根目录$upload-savePath /uploads/; // 设置附件上传子目录vendor(OSS.autoload);$ossConfig C(OSS);$accessKeyId $ossConfig[ACCESS_KEY_ID];//阿里云OSS ID$accessKeySecret $ossConfig[ACCESS_KEY_SECRET];//阿里云OSS 秘钥$endpoint $ossConfig[ENDPOINT];//阿里云OSS 地址$ossClient new \OSS\OssClient($accessKeyId, $accessKeySecret, $endpoint);$bucket $ossConfig[BUCKET]; //oss中的文件上传空间$info $upload-upload();if (!$info) {// 上传错误提示错误信息//处理上传错误信息$this-error($upload-getError());} else {// 上传成功foreach ($info as $k $v){$object $dir . / . $v[name];//想要保存文件的名称//这个数组是存上传成功以后返回的访问路径多文件时使用implode函数将其组合$downlink[] $bucket...$endpoint./.$object;$file ./Public . $info[$k][savepath] . $v[savename];//本地文件路径try {$ossClient-uploadFile($bucket, $object, $file);//上传成功//这里可以删除上传到本地的文件。unlink($file);} catch (OssException $e) {//上传失败printf($e-getMessage() . \n);return;}}}}} 转载于:https://my.oschina.net/marhal/blog/1787086