upfile.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <?php
  2. define('BASE_ROOT_PATH',str_replace('\\','/',dirname(__FILE__)));
  3. require_once(BASE_ROOT_PATH . '/global.php');
  4. function upfile_joutput_data($datas)
  5. {
  6. $data['code'] = 200;
  7. $data['message'] = 'SUCCESS';
  8. $data['datas'] = $datas;
  9. ob_clean();
  10. echo(json_encode($data));
  11. }
  12. function errmsg($err)
  13. {
  14. switch ($err)
  15. {
  16. case 1:
  17. return "图片不得超过2MB";
  18. case 2:
  19. case 3:
  20. case 4:
  21. case 5:
  22. case 6:
  23. case 7:
  24. return "上传文件失败";
  25. }
  26. }
  27. function upfile_joutput_error($err=0)
  28. {
  29. $data['code'] = 15000;
  30. $data['message'] = errmsg($err);
  31. $data['datas'] = null;
  32. ob_clean();
  33. echo(json_encode($data));
  34. }
  35. function create_uuid($prefix = "") {
  36. $str = md5(uniqid(mt_rand(), true));
  37. $uuid = substr($str,0,8) . '-';
  38. $uuid .= substr($str,8,4) . '-';
  39. $uuid .= substr($str,12,4) . '-';
  40. $uuid .= substr($str,16,4) . '-';
  41. $uuid .= substr($str,20,12);
  42. return $prefix . $uuid;
  43. }
  44. if ($_FILES)
  45. {
  46. $base_path = BASE_ROOT_PATH . '/data/upload/upfile';
  47. $base_site_path = '/data/upload/upfile';
  48. $ret = [];
  49. if ($_FILES["file"]["error"] > 0) {
  50. upfile_joutput_error($_FILES["file"]["error"]);
  51. }
  52. else
  53. {
  54. $fn = $_FILES["file"]["name"];
  55. $ext_name = '.' . strtolower(pathinfo($fn)['extension']);
  56. $filename = date("YmdHis") . '-' . create_uuid() . $ext_name;
  57. $dest_file = $base_path . '/' . $filename;
  58. $result = move_uploaded_file($_FILES["file"]["tmp_name"],$dest_file);
  59. if ($result) {
  60. $ret['file_path'] = $filename;
  61. $ret['file_site_path'] = $base_site_path .'/' . $filename;
  62. upfile_joutput_data($ret);
  63. } else {
  64. upfile_joutput_error();
  65. }
  66. }
  67. }