FileBaseLogic.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <?php
  2. namespace App\Module\File\Logics;
  3. use App\Module\File\Config\StorageConfig;
  4. use Illuminate\Support\Facades\Storage;
  5. /**
  6. * 文件基础逻辑类
  7. *
  8. * 提供文件操作的底层逻辑
  9. */
  10. class FileBaseLogic
  11. {
  12. /**
  13. * 获取文件内容
  14. *
  15. * @param string $name 文件名
  16. * @param string|null $disk 存储磁盘
  17. * @return string 文件内容
  18. */
  19. public function getPath($name, $disk = null)
  20. {
  21. $src = Storage::disk($disk)->get($name);
  22. return $src;
  23. }
  24. /**
  25. * 获取文件可见性
  26. *
  27. * @param string $path 文件路径
  28. * @return string 文件可见性
  29. */
  30. public function getVisibility($path)
  31. {
  32. $disk = config('admin.upload.disk');
  33. if (config("filesystems.disks.{$disk}")) {
  34. $src = Storage::disk($disk)->getVisibility($path);
  35. }
  36. return $src;
  37. }
  38. /**
  39. * 获取文件的完整物理路径
  40. *
  41. * @param string $path 文件路径
  42. * @return string 完整物理路径
  43. */
  44. public function prefixPath($path)
  45. {
  46. $disk = config('admin.upload.disk');
  47. if (config("filesystems.disks.{$disk}")) {
  48. /**
  49. * @var \Illuminate\Filesystem\FilesystemAdapter $storage
  50. */
  51. $src = Storage::disk($disk)->path($path);
  52. }
  53. return $src;
  54. }
  55. /**
  56. * 检查文件是否存在
  57. *
  58. * @param string $path 文件路径
  59. * @return bool 是否存在
  60. */
  61. public function fileExists($path)
  62. {
  63. $disk = config('admin.upload.disk');
  64. if (config("filesystems.disks.{$disk}")) {
  65. /**
  66. * @var \Illuminate\Filesystem\FilesystemAdapter $storage
  67. */
  68. $src = Storage::disk($disk)->fileExists($path);
  69. }
  70. return $src;
  71. }
  72. }