controller.php 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. <?php
  2. //header('Access-Control-Allow-Origin: http://www.baidu.com'); //设置http://www.baidu.com允许跨域访问
  3. //header('Access-Control-Allow-Headers: X-Requested-With,X_Requested_With'); //设置允许的跨域header
  4. date_default_timezone_set("Asia/chongqing");
  5. error_reporting(E_ERROR);
  6. header("Content-Type: text/html; charset=utf-8");
  7. $configs = include "../../../../caches/configs/system.php";
  8. //$CONFIG = json_decode(preg_replace("/\/\*[\s\S]+?\*\//", "", file_get_contents("config.json")), true);
  9. $CONFIG = array (
  10. /* 上传图片配置项 */
  11. 'imageActionName'=>'uploadimage', /* 执行上传图片的action名称 */
  12. 'siteid'=>$_GET["siteid"],
  13. 'imageFieldName'=>'upfile', /* 提交的图片表单名称 */
  14. 'imageMaxSize'=>2048000, /* 上传大小限制,单位B */
  15. 'imageAllowFiles'=>array('.png', '.jpg', '.jpeg', '.gif', '.bmp'), /* 上传图片格式显示 */
  16. 'imageCompressEnable'=>true, /* 是否压缩图片,默认是true */
  17. 'imageCompressBorder'=>1600, /* 图片压缩最长边限制 */
  18. 'imageInsertAlign'=>'none', /* 插入的图片浮动方式 */
  19. 'imageUrlPrefix'=>substr($configs["app_path"],0,-strlen($configs["web_path"])), /* 图片访问路径前缀 */
  20. 'imagePathFormat'=>$configs["web_path"].'uploadfile/{yyyy}{mm}{dd}/{time}{rand:6}', /* 上传保存路径,可以自定义保存路径和文件名格式 */
  21. /* {filename} 会替换成原文件名,配置这项需要注意中文乱码问题 */
  22. /* {rand:6} 会替换成随机数,后面的数字是随机数的位数 */
  23. /* {time} 会替换成时间戳 */
  24. /* {yyyy} 会替换成四位年份 */
  25. /* {yy} 会替换成两位年份 */
  26. /* {mm} 会替换成两位月份 */
  27. /* {dd} 会替换成两位日期 */
  28. /* {hh} 会替换成两位小时 */
  29. /* {ii} 会替换成两位分钟 */
  30. /* {ss} 会替换成两位秒 */
  31. /* 非法字符 \ =>* ? ' < > | */
  32. /* 具请体看线上文档=>fex.baidu.com/ueditor/#use-format_upload_filename */
  33. /* 涂鸦图片上传配置项 */
  34. 'scrawlActionName'=>'uploadscrawl', /* 执行上传涂鸦的action名称 */
  35. 'siteid'=>$_GET["siteid"],
  36. 'scrawlFieldName'=>'upfile', /* 提交的图片表单名称 */
  37. 'scrawlPathFormat'=>$configs["web_path"].'uploadfile/{yyyy}{mm}{dd}/{time}{rand:6}', /* 上传保存路径,可以自定义保存路径和文件名格式 */
  38. 'scrawlMaxSize'=>2048000, /* 上传大小限制,单位B */
  39. 'scrawlUrlPrefix'=>substr($configs["app_path"],0,-strlen($configs["web_path"])), /* 图片访问路径前缀 */
  40. 'scrawlInsertAlign'=>'none',
  41. /* 截图工具上传 */
  42. 'snapscreenActionName'=>'uploadimage', /* 执行上传截图的action名称 */
  43. 'siteid'=>$_GET["siteid"],
  44. 'snapscreenPathFormat'=>$configs["web_path"].'uploadfile/{yyyy}{mm}{dd}/{time}{rand:6}', /* 上传保存路径,可以自定义保存路径和文件名格式 */
  45. 'snapscreenUrlPrefix'=>substr($configs["app_path"],0,-strlen($configs["web_path"])), /* 图片访问路径前缀 */
  46. 'snapscreenInsertAlign'=>'none', /* 插入的图片浮动方式 */
  47. /* 抓取远程图片配置 */
  48. 'catcherLocalDomain'=>array('127.0.0.1', 'localhost', 'img.baidu.com'),
  49. 'catcherActionName'=>'catchimage', /* 执行抓取远程图片的action名称 */
  50. 'siteid'=>$_GET["siteid"],
  51. 'catcherFieldName'=>'source', /* 提交的图片列表表单名称 */
  52. 'catcherPathFormat'=>$configs["web_path"].'uploadfile/{yyyy}{mm}{dd}/{time}{rand:6}', /* 上传保存路径,可以自定义保存路径和文件名格式 */
  53. 'catcherUrlPrefix'=>substr($configs["app_path"],0,-strlen($configs["web_path"])), /* 图片访问路径前缀 */
  54. 'catcherMaxSize'=>2048000, /* 上传大小限制,单位B */
  55. 'catcherAllowFiles'=>array('.png', '.jpg', '.jpeg', '.gif', '.bmp'), /* 抓取图片格式显示 */
  56. /* 上传视频配置 */
  57. 'videoActionName'=>'uploadvideo', /* 执行上传视频的action名称 */
  58. 'siteid'=>$_GET["siteid"],
  59. 'videoFieldName'=>'upfile', /* 提交的视频表单名称 */
  60. 'videoPathFormat'=>$configs["web_path"].'uploadfile/{yyyy}{mm}{dd}/{time}{rand:6}', /* 上传保存路径,可以自定义保存路径和文件名格式 */
  61. 'videoUrlPrefix'=>substr($configs["app_path"],0,-strlen($configs["web_path"])), /* 视频访问路径前缀 */
  62. 'videoMaxSize'=>102400000, /* 上传大小限制,单位B,默认100MB */
  63. 'videoAllowFiles'=>array(
  64. '.flv', '.swf', '.mkv', '.avi', '.rm', '.rmvb', '.mpeg', '.mpg',
  65. '.ogg', '.ogv', '.mov', '.wmv', '.mp4', '.webm', '.mp3', '.wav', '.mid'), /* 上传视频格式显示 */
  66. /* 上传文件配置 */
  67. 'fileActionName'=>'uploadfile', /* controller里,执行上传视频的action名称 */
  68. 'siteid'=>$_GET["siteid"],
  69. 'fileFieldName'=>'upfile', /* 提交的文件表单名称 */
  70. 'filePathFormat'=>$configs["web_path"].'uploadfile/{yyyy}{mm}{dd}/{time}{rand:6}', /* 上传保存路径,可以自定义保存路径和文件名格式 */
  71. 'fileUrlPrefix'=>substr($configs["app_path"],0,-strlen($configs["web_path"])), /* 文件访问路径前缀 */
  72. 'fileMaxSize'=>51200000, /* 上传大小限制,单位B,默认50MB */
  73. 'fileAllowFiles'=>array(
  74. '.png', '.jpg', '.jpeg', '.gif', '.bmp',
  75. '.flv', '.swf', '.mkv', '.avi', '.rm', '.rmvb', '.mpeg', '.mpg',
  76. '.ogg', '.ogv', '.mov', '.wmv', '.mp4', '.webm', '.mp3', '.wav', '.mid',
  77. '.rar', '.zip', '.tar', '.gz', '.7z', '.bz2', '.cab', '.iso',
  78. '.doc', '.docx', '.xls', '.xlsx', '.ppt', '.pptx', '.pdf', '.txt', '.md', '.xml'
  79. ), /* 上传文件格式显示 */
  80. /* 列出指定目录下的图片 */
  81. 'imageManagerActionName'=>'listimage', /* 执行图片管理的action名称 */
  82. 'siteid'=>$_GET["siteid"],
  83. 'imageManagerListPath'=>$configs["web_path"].'uploadfile/', /* 指定要列出图片的目录 */
  84. 'imageManagerListSize'=>20, /* 每次列出文件数量 */
  85. 'imageManagerUrlPrefix'=>substr($configs["app_path"],0,-strlen($configs["web_path"])), /* 图片访问路径前缀 */
  86. 'imageManagerInsertAlign'=>'none', /* 插入的图片浮动方式 */
  87. 'imageManagerAllowFiles'=>array('.png', '.jpg', '.jpeg', '.gif', '.bmp'), /* 列出的文件类型 */
  88. /* 列出指定目录下的文件 */
  89. 'fileManagerActionName'=>'listfile', /* 执行文件管理的action名称 */
  90. 'siteid'=>$_GET["siteid"],
  91. 'fileManagerListPath'=>$configs["web_path"].'uploadfile/', /* 指定要列出文件的目录 */
  92. 'fileManagerUrlPrefix'=>substr($configs["app_path"],0,-strlen($configs["web_path"])), /* 文件访问路径前缀 */
  93. 'fileManagerListSize'=>20, /* 每次列出文件数量 */
  94. 'fileManagerAllowFiles'=>array(
  95. '.png', '.jpg', '.jpeg', '.gif', '.bmp',
  96. '.flv', '.swf', '.mkv', '.avi', '.rm', '.rmvb', '.mpeg', '.mpg',
  97. '.ogg', '.ogv', '.mov', '.wmv', '.mp4', '.webm', '.mp3', '.wav', '.mid',
  98. '.rar', '.zip', '.tar', '.gz', '.7z', '.bz2', '.cab', '.iso',
  99. '.doc', '.docx', '.xls', '.xlsx', '.ppt', '.pptx', '.pdf', '.txt', '.md', '.xml'
  100. ) /* 列出的文件类型 */
  101. );
  102. $action = $_GET['action'];
  103. switch ($action) {
  104. case 'config':
  105. $result = json_encode($CONFIG);
  106. break;
  107. /* 上传图片 */
  108. case 'uploadimage':
  109. /* 上传涂鸦 */
  110. case 'uploadscrawl':
  111. /* 上传视频 */
  112. case 'uploadvideo':
  113. /* 上传文件 */
  114. case 'uploadfile':
  115. $result = include("action_upload.php");
  116. break;
  117. /* 列出图片 */
  118. case 'listimage':
  119. $result = include("action_list.php");
  120. break;
  121. /* 列出文件 */
  122. case 'listfile':
  123. $result = include("action_list.php");
  124. break;
  125. /* 抓取远程文件 */
  126. case 'catchimage':
  127. $result = include("action_crawler.php");
  128. break;
  129. default:
  130. $result = json_encode(array(
  131. 'state'=> '请求地址出错'
  132. ));
  133. break;
  134. }
  135. /* 输出结果 */
  136. if (isset($_GET["callback"])) {
  137. if (preg_match("/^[\w_]+$/", $_GET["callback"])) {
  138. echo htmlspecialchars($_GET["callback"]) . '(' . $result . ')';
  139. } else {
  140. echo json_encode(array(
  141. 'state'=> 'callback参数不合法'
  142. ));
  143. }
  144. } else {
  145. echo $result;
  146. }