try fix GBK txt preview

pull/321/head
qkqpttgf 2021-05-13 13:57:24 +08:00 committed by GitHub
parent 13b70a4252
commit 741044e5ea
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 21 additions and 8 deletions

View File

@ -120,15 +120,28 @@ class Aliyundrive {
//echo $files['name']; //echo $files['name'];
} }
if ($files['type']=='file') { if ($files['type']=='file') {
if (in_array(splitlast($files['name'],'.')[1], $exts['txt'])) { if (in_array(strtolower(splitlast($files['name'],'.')[1]), $exts['txt'])) {
if (!(isset($files['content'])&&$files['content']['stat']==200)) { if ($files['size']<1024*1024) {
$header['Referer'] = 'https://www.aliyundrive.com/'; if (!(isset($files['content'])&&$files['content']['stat']==200)) {
$header['User-Agent'] = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36'; $header['Referer'] = 'https://www.aliyundrive.com/';
$content1 = curl('GET', $files['download_url'], '', $header); $header['User-Agent'] = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36';
$files['content'] = $content1; $content1 = curl('GET', $files['download_url'], '', $header);
savecache('path_' . $path, $files, $this->disktag); $tmp = null;
$tmp = json_decode(json_encode($content1), true);
if ($tmp['body']===null) {
$tmp['body'] = iconv("GBK", 'UTF-8//TRANSLIT', $content1['body']);
$tmp = json_decode(json_encode($tmp), true);
if ($tmp['body']!==null) $content1['body'] = $tmp['body'];
}
//error_log1('body : ' . $content1['body'] . PHP_EOL);
$files['content'] = $content1;
savecache('path_' . $path, $files, $this->disktag);
}
} else {
$files['content']['stat'] = 202;
$files['content']['body'] = 'File too large.';
} }
error_log1($files['name'] . ' : ' . json_encode($files['content']) . PHP_EOL); //error_log1($files['name'] . ' : ' . json_encode($files['content']) . PHP_EOL);
} }
} }
if (!$files) { if (!$files) {