Esempio n. 1
0
 public static function actionMkzip()
 {
     $fileList = array('dir/1.png' => 'http://7u2sdg.com1.z0.glb.clouddn.com/bb39671987ff5c5cf0ec849446e6cc37_279255.png', 'dir2/dir3/dir4/2.jpg' => 'http://7u2sdg.com1.z0.glb.clouddn.com/48de418b961b383acbaae9bc935c697f_267289.jpg', '32.jpg' => 'http://7u2sdg.com1.z0.glb.clouddn.com/62043631093014eee492a0b501528486_262278.jpg', '42.jpg' => 'http://7u2sdg.com1.z0.glb.clouddn.com/d4d1e24d9b4bb414f6f55d75bda93a1a_465032.jpg', '54.jpg' => 'http://7u2sdg.com1.z0.glb.clouddn.com/d4c9aa5e087ca11c6a9fc108a8a027ff_374055.jpg', '63.JPG' => 'http://7u2sdg.com1.z0.glb.clouddn.com/b400520dc84ce2fe6946b4f39aaebdaa_203708.JPG', '63.JPG' => 'http://7u2sdg.com1.z0.glb.clouddn.com/b400520dc84ce2fe6946b4f39aaebdaa_203708.JPG', '63.JPG' => 'http://7u2sdg.com1.z0.glb.clouddn.com/b400520dc84ce2fe6946b4f39aaebdaa_203708.JPG', '63.JPG' => 'http://7u2sdg.com1.z0.glb.clouddn.com/b400520dc84ce2fe6946b4f39aaebdaa_203708.JPG', '6311111111.JPG' => 'http://7u2sdg.com1.z0.glb.clouddn.com/b400520dc84ce2fe6946b4f39aaebdaa_203708.JPG', '6322222222.JPG' => 'http://7u2sdg.com1.z0.glb.clouddn.com/b400520dc84ce2fe6946b4f39aaebdaa_203708.JPG', '6333333333.JPG' => 'http://7u2sdg.com1.z0.glb.clouddn.com/b400520dc84ce2fe6946b4f39aaebdaa_203708.JPG', '6344444444.JPG' => 'http://7u2sdg.com1.z0.glb.clouddn.com/b400520dc84ce2fe6946b4f39aaebdaa_203708.JPG', '6355555555.JPG' => 'http://7u2sdg.com1.z0.glb.clouddn.com/b400520dc84ce2fe6946b4f39aaebdaa_203708.JPG', '6366666666.JPG' => 'http://7u2sdg.com1.z0.glb.clouddn.com/b400520dc84ce2fe6946b4f39aaebdaa_203708.JPG', '6377777777.JPG' => 'http://7u2sdg.com1.z0.glb.clouddn.com/b400520dc84ce2fe6946b4f39aaebdaa_203708.JPG', '6388888888.JPG' => 'http://7u2sdg.com1.z0.glb.clouddn.com/b400520dc84ce2fe6946b4f39aaebdaa_203708.JPG', '6399999999.JPG' => 'http://7u2sdg.com1.z0.glb.clouddn.com/b400520dc84ce2fe6946b4f39aaebdaa_203708.JPG', '631010101010101010.JPG' => 'http://7u2sdg.com1.z0.glb.clouddn.com/b400520dc84ce2fe6946b4f39aaebdaa_203708.JPG', '631111111111111111.JPG' => 'http://7u2sdg.com1.z0.glb.clouddn.com/b400520dc84ce2fe6946b4f39aaebdaa_203708.JPG', '7.1212121212121212jpg' => 'http://7u2sdg.com1.z0.glb.clouddn.com/c80a4cd1ed5bf27fd81336b8e3b4a706_56429.jpg', '8.jpg' => 'http://7u2sdg.com1.z0.glb.clouddn.com/04f10ef3f61ed8dae42ae8a19cf67653_319095.jpg');
     $result = W2Qiniu::getZipInfo($fileList);
     var_export($result);
     exit;
 }
Esempio n. 2
0
 public static function getZipInfo($fileList = array(), $saveas = '')
 {
     require_once __DIR__ . '/../qiniu/http.php';
     require_once __DIR__ . '/../qiniu/auth_digest.php';
     require_once __DIR__ . '/../qiniu/utils.php';
     $fops = 'mkzip/2';
     $extraKey = null;
     // var_export($fileList);
     foreach ($fileList as $key => $value) {
         if (preg_match('/^http:\\/\\//', $value)) {
             if (is_int($key)) {
                 $fops .= '/url/' . Qiniu_Encode($value);
             } else {
                 $fops .= '/url/' . Qiniu_Encode($value);
                 // $fops .= '/alias/'.Qiniu_Encode($key);
                 // var_export($key);
                 // var_export(Qiniu_Encode($key));
                 $fops .= '/alias/' . Qiniu_Encode($key);
             }
             if ($extraKey == null) {
                 $extraKey = $value;
             }
         }
     }
     if ($saveas == null) {
         $saveas = md5($fops) . '.zip';
     }
     if ($saveas != null) {
         $fops .= '|saveas/' . Qiniu_Encode(W2Config::$Qiniu_bucket . ':' . $saveas);
     }
     $persistentKey = 'mkzip.' . $saveas . '.pfop';
     $saveFileInfo = W2Qiniu::getFileInfoFromQiniu($saveas);
     if (is_array($saveFileInfo) && array_key_exists('fsize', $saveFileInfo)) {
         return $saveFileInfo;
     }
     $persistentId = W2Qiniu::getKeyContent($persistentKey);
     if (!is_null($persistentId)) {
         return W2Qiniu::getPersistentInfo($persistentId);
     }
     if (strpos($extraKey, W2Config::$Qiniu_domain) != false) {
         $extraKey = str_replace('http://' . W2Config::$Qiniu_domain . '/', '', $extraKey);
     }
     $notifyURL = "";
     $force = 0;
     $encodedBucket = urlencode(W2Config::$Qiniu_bucket);
     $encodedKey = urlencode($extraKey);
     $encodedFops = urlencode($fops);
     $encodedNotifyURL = urlencode($notifyURL);
     $apiHost = "http://api.qiniu.com";
     $apiPath = "/pfop/";
     $requestBody = "bucket={$encodedBucket}&key={$encodedKey}&fops={$encodedFops}&notifyURL={$encodedNotifyURL}";
     if ($force !== 0) {
         $requestBody .= "&force=1";
     }
     $mac = new Qiniu_Mac(W2Config::$Qiniu_accessKey, W2Config::$Qiniu_secretKey);
     $client = new Qiniu_MacHttpClient($mac);
     list($ret, $err) = Qiniu_Client_CallWithForm($client, $apiHost . $apiPath, $requestBody);
     if ($err !== null) {
         var_dump($err);
     } else {
         if (is_array($ret) && array_key_exists('persistentId', $ret)) {
             W2Qiniu::setKeyContent($persistentKey, $ret['persistentId']);
             return W2Qiniu::getPersistentInfo($ret['persistentId']);
         }
         return $ret;
     }
 }