/application/admin/controller/Index.php

https://github.com/Zhao-github/ApiAdmin · PHP · 49 lines · 44 code · 4 blank · 1 comment · 5 complexity · 8ac064091cd9328f04554068a7b47a41 MD5 · raw file

  1. <?php
  2. namespace app\admin\controller;
  3. use app\util\ReturnCode;
  4. class Index extends Base {
  5. public function upload() {
  6. $path = '/upload/' . date('Ymd', time()) . '/';
  7. $name = $_FILES['file']['name'];
  8. $tmp_name = $_FILES['file']['tmp_name'];
  9. $error = $_FILES['file']['error'];
  10. //过滤错误
  11. if ($error) {
  12. switch ($error) {
  13. case 1:
  14. $error_message = '您上传的文件超过了PHP.INI配置文件中UPLOAD_MAX-FILESIZE的大小';
  15. break;
  16. case 2:
  17. $error_message = '您上传的文件超过了PHP.INI配置文件中的post_max_size的大小';
  18. break;
  19. case 3:
  20. $error_message = '文件只被部分上传';
  21. break;
  22. case 4:
  23. $error_message = '文件不能为空';
  24. break;
  25. default:
  26. $error_message = '未知错误';
  27. }
  28. die($error_message);
  29. }
  30. $arr_name = explode('.', $name);
  31. $hz = array_pop($arr_name);
  32. $new_name = md5(time() . uniqid()) . '.' . $hz;
  33. if (!file_exists($_SERVER['DOCUMENT_ROOT'] . $path)) {
  34. mkdir($_SERVER['DOCUMENT_ROOT'] . $path, 0755, true);
  35. }
  36. if (move_uploaded_file($tmp_name, $_SERVER['DOCUMENT_ROOT'] . $path . $new_name)) {
  37. return $this->buildSuccess([
  38. 'fileName' => $new_name,
  39. 'fileUrl' => $this->request->domain() . $path . $new_name
  40. ]);
  41. } else {
  42. return $this->buildFailed(ReturnCode::FILE_SAVE_ERROR, '文件上传失败');
  43. }
  44. }
  45. }