Driver.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. namespace app\common\library\upload;
  3. use think\file\UploadedFile;
  4. /**
  5. * 上传驱动抽象类
  6. */
  7. abstract class Driver
  8. {
  9. /**
  10. * @var array 配置数据
  11. */
  12. protected array $options = [];
  13. /**
  14. * 保存文件
  15. * @param UploadedFile $file
  16. * @param string $saveName
  17. * @return bool
  18. */
  19. abstract public function save(UploadedFile $file, string $saveName): bool;
  20. /**
  21. * 删除文件
  22. * @param string $saveName
  23. * @return bool
  24. */
  25. abstract public function delete(string $saveName): bool;
  26. /**
  27. * 获取资源 URL 地址;
  28. * @param string $saveName 资源保存名称
  29. * @param string|bool $domain 是否携带域名 或者直接传入域名
  30. * @param string $default 默认值
  31. * @return string
  32. */
  33. abstract public function url(string $saveName, string|bool $domain = true, string $default = ''): string;
  34. /**
  35. * 文件是否存在
  36. * @param string $saveName
  37. * @return bool
  38. */
  39. abstract public function exists(string $saveName): bool;
  40. }