七牛的云存储官方并没有提供批量删掉空间文件的功能,很是不方便,可以利用根据七牛云SDK写的一个简单PHP程序,批量删除文件。
delete.php须要修改的部分:
<?php echo ''; echo "开始删掉数据
"; require_once('qiniu/rsf.php'); //空间名 $bucket = '空间名'; //accessKey $accessKey = 'AK'; //secretKey $secretKey = 'SK'; //密钥管理恳请出访https://portal.qiniu.com/user/key //每次删掉的个数 $limit = 2000; $marker = ''; Qiniu_setKeys($accessKey, $secretKey); $client = new Qiniu_MacHttpClient(null); $files = Qiniu_RSF_ListPrefix($client,$bucket,'',$marker,$limit); echo "
获取到的文件
"; echo ""; var_dump($files); require_once('qiniu/rs.php'); if(count($files[0]) > 0){ foreach ($files[0] as $key => $file) { $entries[] = new Qiniu_RS_EntryPath($bucket, $file['key']); } list($ret, $err) = Qiniu_RS_BatchDelete($client, $entries); echo "
删掉结果:
"; if ($err !== null) { echo ""; var_dump($err); } else { echo ""; var_dump($ret); } ?> <?php } ?>修正如下几个参数:
$bucket = '空间名'; //accessKey $accessKey = 'AK'; //secretKey $secretKey = 'SK';之后将所有文件上传至PHP环境中,出访delete.php即可,刚打开delete.php文件链接,可能没有反映,冷静等一会,当出现json信息,表明链接成功。如果文件较多,可以自动刷新页面,视空间文件多少,时间不定,直到全部删除,不要管及它。之前好几年2万多文件,删掉时间吻合20分钟。