imgino_cache

master
cn.yimian.xyz 3 years ago
parent 1e2f2f5959
commit 657f3bc4d1
  1. 44
      functions.php

@ -352,30 +352,42 @@ function obsSign($path, $expires = 300){
function getImgsInfo($type, $isFast = false){ function getImgsInfo($type, $isFast = false){
$obsClient = new ObsClient([ $redis = new redis();
'key' => $GLOBALS['huawei_AK'], $redis->connect('redis',6379);
'secret' => $GLOBALS['huawei_SK'],
'endpoint' => "https://obs.cn-east-2.myhuaweicloud.com",
]);
$resp = $obsClient -> listObjects([ $pifix = '__imgInfoCache/'.$type;
'Bucket' => 'yimian-image',
'MaxKeys' => 10000,
'Prefix' => $type.'/',
'Marker' => $type.'/img'
]);
if($redis->exists($pifix) && strlen($redis->get($pifix)) > 10){
$str = $redis->get($pifix);
}else{
//ini_set("pcre.backtrack_limit" , -1); ini_set("pcre.recursion_limit" , -1); ini_set("memory_limit" , "1024M"); $obsClient = new ObsClient([
'key' => $GLOBALS['huawei_AK'],
'secret' => $GLOBALS['huawei_SK'],
'endpoint' => "https://obs.cn-east-2.myhuaweicloud.com",
]);
foreach($resp['Contents'] as $index => $val){ $resp = $obsClient -> listObjects([
$str .= $val['Key'].' '; 'Bucket' => 'yimian-image',
}; 'MaxKeys' => 10000,
'Prefix' => $type.'/',
'Marker' => $type.'/img'
]);
$obsClient -> close();
//ini_set("pcre.backtrack_limit" , -1); ini_set("pcre.recursion_limit" , -1); ini_set("memory_limit" , "1024M");
foreach($resp['Contents'] as $index => $val){
$str .= $val['Key'].' ';
};
$obsClient -> close();
$redis->setEx($pifix, 3600, $str);
}
preg_match_all('/img_(\S*?)_(\d{2,4})x(\d{2,4})_(\S*?)_(\S*?)_(\S*?).(jpe?g|png|gif|svg)\b/', $str, $arr); preg_match_all('/img_(\S*?)_(\d{2,4})x(\d{2,4})_(\S*?)_(\S*?)_(\S*?).(jpe?g|png|gif|svg)\b/', $str, $arr);
//echo var_dump($arr); //echo var_dump($arr);

Loading…
Cancel
Save