ExportCache.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | likeshop100%开源免费商用商城系统
  4. // +----------------------------------------------------------------------
  5. // | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
  6. // | 开源版本可自由商用,可去除界面版权logo
  7. // | 商业版本务必购买商业授权,以免引起法律纠纷
  8. // | 禁止对系统程序代码以任何目的,任何形式的再发布
  9. // | gitee下载:https://gitee.com/likeshop_gitee
  10. // | github下载:https://github.com/likeshop-github
  11. // | 访问官网:https://www.likeshop.cn
  12. // | 访问社区:https://home.likeshop.cn
  13. // | 访问手册:http://doc.likeshop.cn
  14. // | 微信公众号:likeshop技术社区
  15. // | likeshop团队 版权所有 拥有最终解释权
  16. // +----------------------------------------------------------------------
  17. // | author: likeshopTeam
  18. // +----------------------------------------------------------------------
  19. namespace app\common\cache;
  20. use think\facade\Config;
  21. class ExportCache extends BaseCache
  22. {
  23. protected $uniqid = '';
  24. public function __construct()
  25. {
  26. parent::__construct();
  27. //以微秒计的当前时间,生成一个唯一的 ID,以tagname为前缀
  28. $this->uniqid = md5(uniqid($this->tagName,true).mt_rand());
  29. }
  30. /**
  31. * @notes 获取excel缓存目录
  32. * @return string
  33. * @author 令狐冲
  34. * @date 2021/7/28 17:36
  35. */
  36. public function getSrc()
  37. {
  38. return app()->getRootPath() . 'runtime/file/export/'.date('Y-m').'/'.$this->uniqid.'/';
  39. }
  40. /**
  41. * @notes 设置文件路径缓存地址
  42. * @param $fileName
  43. * @return string
  44. * @author 令狐冲
  45. * @date 2021/7/28 17:36
  46. */
  47. public function setFile($fileName)
  48. {
  49. $src = $this->getSrc();
  50. $key = md5($src . $fileName) . time();
  51. $this->set($key, ['src' => $src, 'name' => $fileName], 300);
  52. return $key;
  53. }
  54. /**
  55. * @notes 获取文件缓存的路径
  56. * @param $key
  57. * @return mixed
  58. * @author 令狐冲
  59. * @date 2021/7/26 18:36
  60. */
  61. public function getFile($key)
  62. {
  63. return $this->get($key);
  64. }
  65. }