| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 | 
							- <?php
 
- /*
 
-  * +----------------------------------------------------------------------
 
-  * | 图片服务器上传接口
 
-  * +----------------------------------------------------------------------
 
-  * | Copyright (c) 2015 summer All rights reserved.
 
-  * +----------------------------------------------------------------------
 
-  * | Author: summer <aer_c@qq.com> <qq7579476>
 
-  * +----------------------------------------------------------------------
 
-  * | This is not a free software, unauthorized no use and dissemination.
 
-  * +----------------------------------------------------------------------
 
-  * | Date
 
-  * +----------------------------------------------------------------------
 
-  */
 
- class UCloud_Lite {
 
-     protected $config = array(
 
-         //上传的API地址,不带http://
 
-         'api' => '',
 
-         //统一的key
 
-         'accessKey' => '',
 
-         'secretKey' => '',
 
-         //自定义配置的空间
 
-         'bucket' => '',
 
-         'host' => '', //必带http://
 
-         'timeout' => 60
 
-     );
 
-     //上传文件信息
 
-     private $upload_file;
 
-     //文件存储的默认路径
 
-     private $default_path = '';
 
-     //文件存储路径
 
-     private $save_path;
 
-     //上传文件名
 
-     public $file_name;
 
-     //上传文件后缀名
 
-     private $ext;
 
-     //错误信息
 
-     public $error = '';
 
-     
 
-     public function __construct() {
 
-         if(DI()->config->get('app.UCloud'))
 
-             $this->config = array_merge($this->config, DI()->config->get('app.UCloud'));
 
-     }
 
-     /**
 
-      * 设置
 
-      *
 
-      * @param mixed $key
 
-      * @param mixed $value
 
-      */
 
-     public function set($key,$value){
 
-         $this->$key = $value;
 
-     }
 
-     /**
 
-      * 读取
 
-      */
 
-     public function get($key){
 
-         return $this->$key;
 
-     }
 
-     /**
 
-      * 上传操作
 
-      *
 
-      * @param string $field 上传的文件信息
 
-      * @return array or bool
 
-      */
 
-     public function upfile($fileData) {  
 
-         //上传文件
 
-         $this->upload_file = $fileData;
 
-         if ($this->upload_file['tmp_name'] == ""){
 
-             $this->setError('File is not empty!');
 
-             return false;
 
-         }
 
-         //文件后缀名
 
-         $tmp_ext = explode(".", $this->upload_file['name']);
 
-         $tmp_ext = $tmp_ext[count($tmp_ext) - 1];
 
-         $this->ext = strtolower($tmp_ext);
 
-         //设置文件名称
 
-         //if(empty($this->file_name)){
 
-             $this->setFileName();
 
-         //}
 
-         $config = $this->config;
 
-         //获取上传引擎信息
 
-         //DI()->loader->addDirs('Library/UCloud');
 
-         $engine = 'UCloud_Engine_' . ucfirst(DI()->config->get('app.UCloudEngine'));
 
-         $upload = new $engine('',$config);
 
-         //设置图片信息
 
-         $file = $this->upload_file;
 
-         $file['savepath'] = $this->setPath();
 
-         $file['savename'] = $this->file_name;
 
-         //开始上传
 
-         $res = $upload->save($file);
 
-         if (!$res) {
 
-             DI()->logger->debug('failed to upload file to '. $engine, 
 
-                 array('Err' => $upload->getError()));
 
-             return false;
 
-         } else {
 
-             $fileName = $this->setPath() . '/' . $this->file_name;
 
-             $fileUrl = $config['host'] . '/' . $fileName;
 
-             DI()->logger->debug('succeed to upload file to '.$engine, $fileUrl);
 
-             return array(
 
-                 'url' => $fileUrl,
 
-                 'file' => $fileName
 
-             );
 
-         }
 
-     }
 
-     /**
 
-      * 设置文件名称 不包括 文件路径
 
-      *
 
-      * 生成(从2000-01-01 00:00:00 到现在的秒数+微秒+四位随机)
 
-      */
 
-     private function setFileName(){
 
-         if(empty($this->file_name)){
 
-             $tmp_name = sprintf('%010d',time() - 946656000)
 
-                             . sprintf('%03d', microtime() * 1000)
 
-                             . sprintf('%04d', mt_rand(0,9999));
 
-         }else{
 
-             $tmp_name = $this->file_name;
 
-         }
 
-         
 
-         $this->file_name = $tmp_name . '.' . $this->ext;
 
-     }
 
-     /**
 
-      * 设置文件存储路径
 
-      */
 
-     private function setPath(){
 
-         if($this->save_path)
 
-             return $this->default_path . '/' . $this->save_path;
 
-         else
 
-             return $this->default_path;
 
-     }
 
-     /**
 
-      * 设置错误信息
 
-      *
 
-      * @param string $error 错误信息
 
-      * @return bool 布尔类型的返回结果
 
-      */
 
-     private function setError($error){
 
-         $this->error = $error;
 
-     }
 
- }
 
 
  |