|
|
<?php
|
|
|
|
|
|
namespace Controller;
|
|
|
|
|
|
|
|
|
use Lib\Err;
|
|
|
use Lib\Imap\ImapConfig;
|
|
|
use Lib\Imap\ImapPool;
|
|
|
use Lib\Mail\MailFun;
|
|
|
use Model\folderSql;
|
|
|
use Model\listsSql;
|
|
|
|
|
|
/**
|
|
|
* 附件预览
|
|
|
* @author:dc
|
|
|
* @time 2025/8/19 17:43
|
|
|
* Class Attachment
|
|
|
* @package Controller
|
|
|
*/
|
|
|
class Attachment extends Base {
|
|
|
|
|
|
|
|
|
|
|
|
public function show(){
|
|
|
$path = app()->request('path');
|
|
|
$filename = ROOT_PATH.$path;
|
|
|
if(file_exists($filename)){
|
|
|
$file = new \SplFileInfo($filename);
|
|
|
if(in_array($file->getExtension(),['jpg','jpeg','png','gif','mp4','mp3','pdf','txt','doc','docx','xls','xlsx','ppt','pptx','eml'])){
|
|
|
header("Content-type: ".$file->getMTime());
|
|
|
header("Content-Disposition: inline; filename=".$file->getFilename());
|
|
|
header("Content-Length: ".$file->getSize());
|
|
|
header("Cache-Control: max-age=0");
|
|
|
header("Last-Modified: ".$file->getMTime());
|
|
|
header("Expires: " . gmdate("D, d M Y H:i:s", time() + 3600 * 24 * 365) . " GMT");
|
|
|
return file_get_contents($file->getPathname()) ;
|
|
|
}
|
|
|
return "<div style='text-align: center'>“".$file->getFilename()."“ 当前附件不支持预览</div>";
|
|
|
}
|
|
|
return "<div style='text-align: center'>404 附件不存在</div>";
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
...
|
...
|
|