| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 | 
							- <?php
 
- // +----------------------------------------------------------------------
 
- // | ThinkPHP [ WE CAN DO IT JUST THINK IT ]
 
- // +----------------------------------------------------------------------
 
- // | Copyright (c) 2006-2014 http://thinkphp.cn All rights reserved.
 
- // +----------------------------------------------------------------------
 
- // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
 
- // +----------------------------------------------------------------------
 
- // | Author: luofei614<weibo.com/luofei614>
 
- // +----------------------------------------------------------------------
 
- namespace Think\Upload\Driver;
 
- class Sae{
 
-     /**
 
-      * Storage的Domain
 
-      * @var string
 
-      */
 
-     private $domain     =   '';
 
-     private $rootPath   =   '';
 
-     /**
 
-      * 本地上传错误信息
 
-      * @var string
 
-      */
 
-     private $error      =   ''; 
 
-     /**
 
-      * 构造函数,设置storage的domain, 如果有传配置,则domain为配置项,如果没有传domain为第一个路径的目录名称。 
 
-      * @param mixed $config 上传配置     
 
-      */
 
-     public function __construct($config = null){
 
-         if(is_array($config) && !empty($config['domain'])){
 
-             $this->domain   =   strtolower($config['domain']);
 
-         }
 
-     }
 
-     /**
 
-      * 检测上传根目录
 
-      * @param string $rootpath   根目录
 
-      * @return boolean true-检测通过,false-检测失败
 
-      */
 
-     public function checkRootPath($rootpath){
 
-         $rootpath = trim($rootpath,'./');
 
-         if(!$this->domain){
 
-             $rootpath = explode('/', $rootpath);
 
-             $this->domain = strtolower(array_shift($rootpath));
 
-             $rootpath = implode('/', $rootpath);
 
-         }
 
-         $this->rootPath =  $rootpath;
 
-         $st =   new \SaeStorage();
 
-         if(false===$st->getDomainCapacity($this->domain)){
 
-           $this->error  =   '您好像没有建立Storage的domain['.$this->domain.']';
 
-           return false;
 
-         }
 
-         return true;
 
-     }
 
-     /**
 
-      * 检测上传目录
 
-      * @param  string $savepath 上传目录
 
-      * @return boolean          检测结果,true-通过,false-失败
 
-      */
 
-     public function checkSavePath($savepath){
 
-         return true;
 
-     }
 
-     /**
 
-      * 保存指定文件
 
-      * @param  array   $file    保存的文件信息
 
-      * @param  boolean $replace 同名文件是否覆盖
 
-      * @return boolean          保存状态,true-成功,false-失败
 
-      */
 
-     public function save(&$file, $replace=true) {
 
-         $filename = ltrim($this->rootPath .'/'. $file['savepath'] . $file['savename'],'/');
 
-         $st =   new \SaeStorage();
 
-         /* 不覆盖同名文件 */ 
 
-         if (!$replace && $st->fileExists($this->domain,$filename)) {
 
-             $this->error = '存在同名文件' . $file['savename'];
 
-             return false;
 
-         }
 
-         /* 移动文件 */
 
-         if (!$st->upload($this->domain,$filename,$file['tmp_name'])) {
 
-             $this->error = '文件上传保存错误!['.$st->errno().']:'.$st->errmsg();
 
-             return false;
 
-         }else{
 
-             $file['url'] = $st->getUrl($this->domain, $filename);
 
-         }
 
-         return true;
 
-     }
 
-     public function mkdir(){
 
-         return true;
 
-     }
 
-     /**
 
-      * 获取最后一次上传错误信息
 
-      * @return string 错误信息
 
-      */
 
-     public function getError(){
 
-         return $this->error;
 
-     }
 
- }
 
 
  |