@@ -45,14 +45,20 @@ public function __construct($auth, $bucket, $pipeline = null, $notify_url = null
45
45
/**
46
46
* 列取空间的文件列表
47
47
*
48
- * @param $key 待处理的源文件
49
- * @param $fops 处理详细操作,规格详见 http://developer.qiniu.com/docs/v6/api/reference/fop/
48
+ * @param $key 待处理的源文件
49
+ * @param $fops string|array 待处理的pfop操作,多个操作已array的形式传入。
50
+ * eg. avthumb/mp3/ab/192k, vframe/jpg/offset/7/w/480/h/360
50
51
*
51
52
* @return array[] 返回持久化处理的persistentId, 和返回的错误。
53
+ *
54
+ * @link http://developer.qiniu.com/docs/v6/api/reference/fop/
52
55
*/
53
- public function execute ($ key , array $ fops )
56
+ public function execute ($ key , $ fops )
54
57
{
55
- $ ops = implode ('; ' , $ fops );
58
+ if (is_array ($ fops )) {
59
+ $ ops = implode ('; ' , $ fops );
60
+ }
61
+
56
62
$ params = array ('bucket ' => $ this ->bucket , 'key ' => $ key , 'fops ' => $ ops );
57
63
if (!empty ($ this ->pipeline )) {
58
64
$ params ['pipeline ' ] = $ this ->pipeline ;
@@ -85,77 +91,4 @@ public static function status($id)
85
91
}
86
92
return array ($ response ->json (), null );
87
93
}
88
-
89
- private static $ pfops = array (
90
- 'avthumb ' ,
91
- 'vframe ' ,
92
- 'segtime ' ,
93
- 'vsample ' ,
94
- 'vwatermark ' ,
95
- 'avconcat ' ,
96
-
97
- 'concat ' ,
98
- );
99
-
100
- public function __call ($ method , $ args )
101
- {
102
-
103
- if (!in_array ($ method , self ::$ pfops )) {
104
- throw new \InvalidArgumentException ("pfop {$ method } isn't supported " );
105
- }
106
- $ key = $ args [0 ];
107
- $ mod = null ;
108
- if (count ($ args )>1 ) {
109
- $ mod = $ args [1 ];
110
- }
111
-
112
- $ options = array ();
113
- if (count ($ args )>2 ) {
114
- $ options = $ args [2 ];
115
- }
116
-
117
- $ target_bucket = null ;
118
- if (count ($ args )>3 ) {
119
- $ target_bucket = $ args [3 ];
120
- }
121
-
122
- $ target_key = null ;
123
- if (count ($ args )>4 ) {
124
- $ target_key = $ args [4 ];
125
- }
126
-
127
- $ pfop = Operation::buildOp ($ method , $ mod , $ options );
128
- if ($ target_bucket != null ) {
129
- $ pfop = Operation::saveas ($ pfop , $ target_bucket , $ target_key );
130
- }
131
-
132
- $ ops = array ();
133
- array_push ($ ops , $ pfop );
134
- return $ this ->execute ($ key , $ ops );
135
- }
136
-
137
- public function mkzip (
138
- $ dummy_key ,
139
- $ urls_and_alias ,
140
- $ to_bucket = null ,
141
- $ to_key = null ,
142
- $ mode = 2
143
- ) {
144
- $ base = 'mkzip/ ' . $ mode ;
145
- $ op = array ($ base );
146
- foreach ($ urls_and_alias as $ key => $ value ) {
147
- if (is_int ($ key )) {
148
- array_push ($ op , 'url/ ' . \Qiniu \base64_urlSafeEncode ($ value ));
149
- } else {
150
- array_push ($ op , 'url/ ' . \Qiniu \base64_urlSafeEncode ($ key ));
151
- array_push ($ op , 'alias/ ' . \Qiniu \base64_urlSafeEncode ($ key ));
152
- }
153
- }
154
- $ fop = implode ('/ ' , $ op );
155
- if ($ to_bucket != null ) {
156
- $ op = Operation::saveas ($ fop , $ to_bucket , $ to_key );
157
- }
158
- $ ops =array ($ op );
159
- return $ this ->execute ($ dummy_key , $ ops );
160
- }
161
94
}
0 commit comments