Local.php 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. if ( ! defined('BASE_PATH')) exit('No direct script access allowed');
  3. class StorageHandle{
  4. //本地存储
  5. var $data_dir;
  6. public function __construct(){
  7. $data_dir = BASE_PATH.DOMAIN;
  8. $data_dir = rtrim($data_dir,'/');
  9. $this->data_dir = $data_dir.'/';
  10. }
  11. public function exists($filename){
  12. return is_file($this->get_file($filename));
  13. }
  14. public function read($filename){
  15. return file_get_contents($this->get_file($filename));
  16. }
  17. public function write($filename,$content){
  18. return file_put_contents($this->get_file($filename),$content);
  19. }
  20. public function url($filename){
  21. return false; //不提供URL方式读取
  22. }
  23. public function delete($filename){
  24. return unlink($this->get_file($filename));
  25. }
  26. public function error(){
  27. return false;
  28. }
  29. private function get_file($key){
  30. $letter1 = substr($key,0,1);
  31. $letter2 = substr($key,0,2);
  32. $dir = $this->data_dir.$letter1.'/'.$letter2;
  33. if(!is_dir($dir)){
  34. if(!mkdir($dir,0777,true)){
  35. return $this->data_dir.$key;
  36. }
  37. }
  38. return $dir.'/'.$key;
  39. }
  40. }