php教程

PHP批量删除七牛云空间所有文件

精准像素 2020-08-06 人阅读

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

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分钟。

相关推荐
  • 七牛云
  • 帝国CMS七牛云同步、上传删除插件
    帝国CMS七牛云同步、上传删除插件

    插件说明适用版本帝国CMS7.5版本,UTF-8版本,其他版本请自行转码或移植。插件安装教程1、将shu文件夹上传至网站e目录。最终目录为:/e/shu/Qiniu/ 2、系统->扩展菜单分类名称:七牛云菜单名称:配置管理...

    帝国cms插件 1363 1年前
  • 七牛云生成各种尺寸样式图片缩略图教程
    七牛云生成各种尺寸样式图片缩略图教程

    我们博客网站在首页或分类列表页或其他地方或多或少都会用到缩略图,大多数都是通过timthumb.php来实现自动裁剪功能,但是这种方法裁剪的缩略图显示不太稳定,有些博客三天两头就看不到缩略图,原因有很...

    经验分享 443 1年前
  • PHP批量删除七牛云空间所有文件
    PHP批量删除七牛云空间所有文件

    七牛的云存储官方并没有提供批量删除空间文件的功能,很是不方便,可以利用根据七牛云SDK写的一个简单PHP程序,批量删除文件。delete.php需要修改的部分:<?phpecho &#39;<meta http-equiv="Content-Ty...

    php教程 11 5个月前