upfile.php 1.7 KB

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