private function deleteResByTopicIDArray($badTopicList) { if (empty($badTopicList)) { return true; } require_once dirname(dirname(dirname(__FILE__))) . DIRECTORY_SEPARATOR . 'application' . DIRECTORY_SEPARATOR . 'third_party' . DIRECTORY_SEPARATOR . 'qiniu' . DIRECTORY_SEPARATOR . 'rs.php'; if (!empty($badTopicList)) { foreach ($badTopicList as $key => $topic) { $resUrl = $topic['resUrl']; if (!empty($resUrl)) { $qn = getQNFromUrl($resUrl); Qiniu_SetKeys(JY_QN_accessKey, JY_QN_secretKey); $client = new Qiniu_MacHttpClient(null); $err = Qiniu_RS_Move($client, $qn['bucket'], $qn['key'], JY_QN_bucket_recycle, $qn['key']); if ($err !== null && $err->Code != 612) { $this->topic->insertBadTopic($topic['id'], $resUrl, $err->Code); return false; } else { return true; } } } } return true; }
public function testDeleteMoveCopy() { $key2 = 'testOp2' . getTid(); $key3 = 'testOp3' . getTid(); Qiniu_RS_Delete($this->client, $this->bucket, $key2); Qiniu_RS_Delete($this->client, $this->bucket, $key3); $err = Qiniu_RS_Copy($this->client, $this->bucket, $this->key, $this->bucket, $key2); $this->assertNull($err); $err = Qiniu_RS_Move($this->client, $this->bucket, $key2, $this->bucket, $key3); $this->assertNull($err); $err = Qiniu_RS_Delete($this->client, $this->bucket, $key3); $this->assertNull($err); $err = Qiniu_RS_Delete($this->client, $this->bucket, $key2); $this->assertNotNull($err, "delete key2 false"); }
/** * Rename a file * * @param $path * @param $newpath * @return bool */ public function rename($path, $newpath) { $err = Qiniu_RS_Move($this->getClient(), $this->bucket, $path, $this->bucket, $newpath); return $err === null; }
var_dump($err); } else { echo "Success! \n"; } # @endgist # @gist delete $err = Qiniu_RS_Delete($client, $bucket, $key1); echo "\n\n====> Qiniu_RS_Delete result: \n"; if ($err !== null) { var_dump($err); } else { echo "Success! \n"; } # @endgist # @gist move $err = Qiniu_RS_Move($client, $bucket, $key2, $bucket, $key1); echo "\n\n====> Qiniu_RS_Move result: \n"; if ($err !== null) { var_dump($err); } else { echo "Success! \n"; } # @endgist # @gist entrypath1 $e1 = new Qiniu_RS_EntryPath($bucket, $key1); # @endgist # @gist entrypath2 $e2 = new Qiniu_RS_EntryPath($bucket, $key2); # @endgist # @gist entrypath3 $key3 = $key1 . '3';
public function move($oldKey, $newKey, $newBucket = null) { if ($newBucket === null) { $newBucket = $this->bucket; } $err = Qiniu_RS_Move($this->client, $this->bucket, $oldKey, $newBucket, $newKey); if ($err !== null) { throw new QiniuMoveException($err->Err, $err->Code, $key); } else { return true; } }
/** * 移动文件到目标位置 * @param string $opath 被移动的文件路径 * @param string $path 目标位置(可能是同一api内或跨api,这两种情况分开处理) * @return icosdatas */ public function CopyTo($opath, $path, $iscopy) { static $i = 0; $i++; $oarr = self::parsePath($opath); $client = self::init($opath); $data = self::getMeta($opath); switch ($data['type']) { case 'folder': //创建目录 //exit($arr['path'].'===='.$data['name']); if ($re = IO::CreateFolder($path, $data['name'])) { if (isset($re['error']) && intval($re['error_code']) != 31061) { $data['success'] = $arr['error']; } else { $data['newdata'] = $re['icoarr']; $data['success'] = true; //echo $opath.'<br>'; $contents = self::listFilesAll($client, $opath); $value = array(); foreach ($contents as $key => $value) { if ($value['path'] != $opath) { $data['contents'][$key] = self::CopyTo($value['path'], $re['folderarr']['path']); } $value = array(); } } } else { $data['success'] = 'create folder failure'; } break; default: if ($arr['bz'] == $oarr['bz']) { //同一个api时 $arr = self::parsePath($path . $data['name']); $err = Qiniu_RS_Move($client, $arr['bucket'], $arr['object'], $oarr['bucket'], $oarr['object']); if ($err !== null) { $data['success'] = $err->Code . ':' . $err->Err; } else { $data['newdata'] = self::getMeta($path . $data['name']); $data['success'] = true; } } else { if ($re = IO::multiUpload($opath, $path, $data['name'])) { if ($re['error']) { $data['success'] = $re['error']; } else { $data['newdata'] = $re; $data['success'] = true; } } } break; } return $data; }