使用PHP批量删除七牛云中的文件

使用PHP批量删除七牛云中的文件

七牛的云存储官方并没有提供批量删除空间文件的功能,很是不方便,可以利用根据七牛云SDK写的一个简单PHP程序,批量删除文件。

delete.php需要修改的部分:

  <?php
    echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />';
    echo "开始删除数据<br>";
    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 "<hr>获取到的文件<br>";
    echo "<pre>";
    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 "<hr>删除结果:<br>";
    if ($err !== null) {
    echo "<pre>";
    var_dump($err);
    } else {
    echo "<pre>";
    var_dump($ret);
    }
    ?>
    <script type="text/javascript">
    function reflash()
    {
    window.location.reload();
    }
    window.onload = setTimeout(reflash,1000);
    </script>
    <?php
    }
    ?>

修改如下几个参数:

   $bucket = '空间名';
    //accessKey
    $accessKey = 'AK';
    //secretKey
    $secretKey = 'SK';

之后将所有文件上传到PHP环境中,访问delete.php即可,刚打开delete.php文件链接,可能没有反映,耐心等一会,当出现json信息,说明链接成功。如果文件较多,会自动刷新页面,视空间文件多少,时间不定,直到全部删除,不要管它。之前试过2万多文件,删除时间接近20分钟。

相关文章

经验

五个方法,网站防范黑客入侵,原来如此简单!

2021-7-8 13:26:00

经验

云锁Nginx自编译教程,Nginx/Tengine ,宝塔云锁自编译

2021-7-20 3:12:37

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索