当前位置: 首页 > 工具软件 > mzstorage > 使用案例 >

dowm.php,down.php · dingdayu/mzstorage - Gitee.com

慕容劲
2023-12-01

require_once __DIR__.'/vendor/autoload.php';

$token = @file_get_contents('token');

$alioss_sigin = @file_get_contents('.alioss_sigin');

include_once 'vendor/autoload.php';

include_once 'extend/mzstorage.php';

include_once 'extend/SaveToDB.php';

include_once 'extend/OSS.php';

$option = require './config.php';

$mzstorage = new mzstorage();

$saveToDB = new SaveToDB();

$mzstorage->setUrl($token);

$sigin = json_decode($alioss_sigin, true);

if (empty($sigin) || time() - $sigin['time'] > 3500) {

echo '更新OSS签名!'.PHP_EOL;

$sigin = $mzstorage->getSig();

if ($sigin['code'] !== 200) {

// 提示更新token

$mzstorage->tipUpdateToken($sigin['message']);

}

// 将签名放入缓存文件

$sigin['time'] = time();

file_put_contents('.alioss_sigin', json_encode($sigin));

}

$OSS = new OSS(

$sigin['value']['accessKeyId'],

$sigin['value']['accessKeySecret'],

$sigin['value']['endpoint'],

$sigin['value']['securityToken'],

$sigin['value']['bucket']

);

// 从数据库取需要下载的文件链接

$list = $saveToDB->getAlbumList(['is_delted' => 0, 'local' => '']);

if (empty($list)) {

echo '所有照片已下载完毕!'.PHP_EOL;

exit();

}

foreach ($list as $key => $value) {

//子进程得到的$pid为0, 所以这里是子进程执行的逻辑。

$local = $option['DOWN_FILE'].DIRECTORY_SEPARATOR.$value['url'];

try {

$signUrl = $OSS->signUrl($value['url']);

} catch (Exception $exception) {

echo $exception->getMessage().PHP_EOL;

exit();

}

$ret = $OSS->fdown(

$signUrl,

$local

);

if ($ret) {

$value['local'] = $value['url'];

$saveToDB->updateAlbum($value);

echo "[SUCCESS] '{$value['url']}'".PHP_EOL;

} else {

echo "[ERROR] '{$value['url']}'".PHP_EOL;

exit();

}

}

exit();

一键复制

编辑

Web IDE

原始数据

按行查看

历史

 类似资料:

相关阅读

相关文章

相关问答