Thinkphp3.1配置阿里云oss开放存储云服务

jerry thinkphp 2015年11月19日 收藏
把站点的图片存储到oss,取代图片服务器, 便于服务器扩展和后期站点集群。
目录结构上图:
上代码:
  1. //上传项目图片到阿里oss服务器
  2. function upload_file_to_alioss($data, $borrow_id)
  3. {
  4.     $ossinfo = C("OSS_SERVERINFO");
  5.     import("ORG.Alioss.alioss");
  6.     $oss = new ALIOSS($access_id = $ossinfo['OSS_ACCESS_ID'], $access_key = $ossinfo['OSS_ACCESS_KEY'], $hostname = $ossinfo['OSS_ENDPOINT'], $security_token = NULL);
  7.     $bucket = $ossinfo['OSS_TEST_BUCKET'];
  8.     $arr = array();
  9.     foreach ($data as $v) {
  10.         $picname = 'borrow-' . $borrow_id .'-'. time() . rand(111111, 999999).'.jpg';
  11.         $arr[] = $picname;
  12.         $object = 'images/'.$picname;
  13.         $file_path = $_SERVER['DOCUMENT_ROOT'].$v;
  14.         $res = $oss->upload_file_by_file($bucket, $object, $file_path, $options);
  15.         Log::write('oss服务器返回信息========'.json_encode($res), Log::SQL);//查看调试信息
  16.         if ($res->status != 200) {
  17.             return false;
  18.         }
  19.     }
  20.     $ossupdata = serialize($arr);
  21.     $res = M("borrow_info")->where("id={$borrow_id}")->save(array('ossupdata' => $ossupdata));
  22.     if($res){
  23.         return true;
  24.     }else{
  25.         return false;
  26.     }