Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 
 

119 lignes
2.1 KiB

  1. <?php
  2. namespace Kuxin;
  3. /**
  4. * Class Storage
  5. *
  6. * @package Kuxin
  7. * @author Pakey <pakey@qq.com>
  8. */
  9. class Storage
  10. {
  11. /**
  12. * @var array
  13. */
  14. protected $config;
  15. /**
  16. * @var \Kuxin\Storage\File
  17. */
  18. protected $handler;
  19. public function __construct(array $config)
  20. {
  21. $this->config = $config;
  22. $class = 'Kuxin\\storage\\' . $config['driver'];
  23. return $this->handler = Loader::instance($class, [$config['option']]);
  24. }
  25. /**
  26. * @param string $file
  27. * @return bool
  28. */
  29. public function exist(string $file)
  30. {
  31. return $this->handler->exist($file);
  32. }
  33. /**
  34. * @param $file
  35. * @return bool|int
  36. */
  37. public function mtime(string $file)
  38. {
  39. return $this->handler->mtime($file);
  40. }
  41. /**
  42. * @param string $file
  43. * @param string $content
  44. * @return bool|int
  45. */
  46. public function write(string $file, string $content)
  47. {
  48. return $this->handler->write($file, $content);
  49. }
  50. /**
  51. * @param $file
  52. * @return bool|string
  53. */
  54. public function read(string $file)
  55. {
  56. return $this->handler->read($file);
  57. }
  58. /**
  59. * @param $file
  60. * @param $content
  61. * @return bool|int
  62. */
  63. public function append(string $file, string $content)
  64. {
  65. return $this->handler->append($file, $content);
  66. }
  67. /**
  68. * @param $file
  69. * @return bool
  70. */
  71. public function remove(string $file)
  72. {
  73. return $this->handler->remove($file);
  74. }
  75. /**
  76. * @param $file
  77. * @return string
  78. */
  79. public function getUrl(string $file)
  80. {
  81. return $this->handler->getUrl($file);
  82. }
  83. /**
  84. * @param $file
  85. * @return string
  86. */
  87. public function getPath(string $file)
  88. {
  89. return $this->handler->getPath($file);
  90. }
  91. /**
  92. * @return string
  93. */
  94. public function error()
  95. {
  96. return $this->handler->error();
  97. }
  98. /**
  99. * @return string
  100. */
  101. public function flush()
  102. {
  103. return $this->handler->flush();
  104. }
  105. }