1 | <?php |
||
14 | final class UploadManager |
||
15 | { |
||
16 | private $config; |
||
17 | |||
18 | 12 | public function __construct(Config $config = null) |
|
19 | { |
||
20 | 12 | if ($config === null) { |
|
21 | 9 | $config = new Config(); |
|
22 | 6 | } |
|
23 | 12 | $this->config = $config; |
|
24 | 12 | } |
|
25 | |||
26 | /** |
||
27 | * 上传二进制流到七牛 |
||
28 | * |
||
29 | * @param $upToken 上传凭证 |
||
30 | * @param $key 上传文件名 |
||
31 | * @param $data 上传二进制流 |
||
32 | * @param $params 自定义变量,规格参考 |
||
33 | * http://developer.qiniu.com/docs/v6/api/overview/up/response/vars.html#xvar |
||
34 | * @param $mime 上传数据的mimeType |
||
35 | * @param $checkCrc 是否校验crc32 |
||
36 | * |
||
37 | * @return array 包含已上传文件的信息,类似: |
||
38 | * [ |
||
39 | * "hash" => "<Hash string>", |
||
40 | * "key" => "<Key string>" |
||
41 | * ] |
||
42 | */ |
||
43 | 3 | public function put( |
|
44 | $upToken, |
||
45 | $key, |
||
46 | $data, |
||
47 | $params = null, |
||
48 | $mime = 'application/octet-stream', |
||
49 | $checkCrc = false |
||
50 | ) { |
||
51 | 3 | $params = self::trimParams($params); |
|
52 | 3 | return FormUploader::put( |
|
53 | 2 | $upToken, |
|
54 | 2 | $key, |
|
55 | 2 | $data, |
|
56 | 3 | $this->config, |
|
57 | 2 | $params, |
|
58 | 2 | $mime, |
|
59 | 1 | $checkCrc |
|
60 | 2 | ); |
|
61 | } |
||
62 | |||
63 | |||
64 | /** |
||
65 | * 上传文件到七牛 |
||
66 | * |
||
67 | * @param $upToken 上传凭证 |
||
68 | * @param $key 上传文件名 |
||
69 | * @param $filePath 上传文件的路径 |
||
70 | * @param $params 自定义变量,规格参考 |
||
71 | * http://developer.qiniu.com/docs/v6/api/overview/up/response/vars.html#xvar |
||
72 | * @param $mime 上传数据的mimeType |
||
73 | * @param $checkCrc 是否校验crc32 |
||
74 | * |
||
75 | * @return array 包含已上传文件的信息,类似: |
||
76 | * [ |
||
77 | * "hash" => "<Hash string>", |
||
78 | * "key" => "<Key string>" |
||
79 | * ] |
||
80 | */ |
||
81 | 9 | public function putFile( |
|
82 | $upToken, |
||
83 | $key, |
||
84 | $filePath, |
||
85 | $params = null, |
||
86 | $mime = 'application/octet-stream', |
||
87 | $checkCrc = false |
||
88 | ) { |
||
89 | 9 | $file = fopen($filePath, 'rb'); |
|
90 | 9 | if ($file === false) { |
|
91 | throw new \Exception("file can not open", 1); |
||
92 | } |
||
93 | 9 | $params = self::trimParams($params); |
|
94 | 9 | $stat = fstat($file); |
|
95 | 9 | $size = $stat['size']; |
|
96 | 9 | if ($size <= Config::BLOCK_SIZE) { |
|
97 | 3 | $data = fread($file, $size); |
|
98 | 3 | fclose($file); |
|
99 | 3 | if ($data === false) { |
|
100 | throw new \Exception("file can not read", 1); |
||
101 | } |
||
102 | 3 | return FormUploader::put( |
|
103 | 2 | $upToken, |
|
104 | 2 | $key, |
|
105 | 2 | $data, |
|
106 | 3 | $this->config, |
|
107 | 2 | $params, |
|
108 | 2 | $mime, |
|
109 | 1 | $checkCrc |
|
110 | 2 | ); |
|
111 | } |
||
112 | |||
113 | 6 | $up = new ResumeUploader( |
|
114 | 4 | $upToken, |
|
115 | 4 | $key, |
|
116 | 4 | $file, |
|
117 | 4 | $size, |
|
118 | 4 | $params, |
|
119 | 4 | $mime, |
|
120 | 6 | $this->config |
|
121 | 4 | ); |
|
122 | 6 | $ret = $up->upload(); |
|
123 | 6 | fclose($file); |
|
124 | 6 | return $ret; |
|
125 | } |
||
126 | |||
127 | 12 | public static function trimParams($params) |
|
141 | } |
||
142 |