imageUp.php 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <?php
  2. /**
  3. * Created by JetBrains PhpStorm.
  4. * User: taoqili
  5. * Date: 12-7-18
  6. * Time: 上午10:42
  7. */
  8. header("Content-Type: text/html; charset=gbk");
  9. error_reporting(E_ERROR | E_WARNING);
  10. date_default_timezone_set("Asia/chongqing");
  11. include "Uploader.class.php";
  12. //上传图片框中的描述表单名称,
  13. $title = htmlspecialchars($_POST['pictitle'], ENT_QUOTES);
  14. $path = htmlspecialchars($_POST['dir'], ENT_QUOTES);
  15. $globalConfig = include( "config.php" );
  16. $imgSavePathConfig = $globalConfig[ 'imageSavePath' ];
  17. //获取存储目录
  18. if ( isset( $_GET[ 'fetch' ] ) ) {
  19. header( 'Content-Type: text/javascript' );
  20. echo 'updateSavePath('. json_encode($imgSavePathConfig) .');';
  21. return;
  22. }
  23. //上传配置
  24. $config = array(
  25. "savePath" => $imgSavePathConfig,
  26. "maxSize" => 100000, //单位KB
  27. "allowFiles" => array(".gif", ".png", ".jpg", ".jpeg", ".bmp")
  28. );
  29. if ( empty( $path ) ) {
  30. $path = $config[ 'savePath' ][ 0 ];
  31. }
  32. //上传目录验证
  33. if ( !in_array( $path, $config[ 'savePath' ] ) ) {
  34. //非法上传目录
  35. echo '{"state":"\u975e\u6cd5\u4e0a\u4f20\u76ee\u5f55"}';
  36. return;
  37. }
  38. $config[ 'savePath' ] = $path . '/';
  39. //生成上传实例对象并完成上传
  40. $up = new Uploader("upfile", $config);
  41. /**
  42. * 得到上传文件所对应的各个参数,数组结构
  43. * array(
  44. * "originalName" => "", //原始文件名
  45. * "name" => "", //新文件名
  46. * "url" => "", //返回的地址
  47. * "size" => "", //文件大小
  48. * "type" => "" , //文件类型
  49. * "state" => "" //上传状态,上传成功时必须返回"SUCCESS"
  50. * )
  51. */
  52. $info = $up->getFileInfo();
  53. /**
  54. * 向浏览器返回数据json数据
  55. * {
  56. * 'url' :'a.jpg', //保存后的文件路径
  57. * 'title' :'hello', //文件描述,对图片来说在前端会添加到title属性上
  58. * 'original' :'b.jpg', //原始文件名
  59. * 'state' :'SUCCESS' //上传状态,成功时返回SUCCESS,其他任何值将原样返回至图片上传框中
  60. * }
  61. */
  62. echo "{'url':'" . $info["url"] . "','title':'" . $title . "','original':'" . $info["originalName"] . "','state':'" . $info["state"] . "'}";