国内流行的内容管理系统(CMS)多端全媒体解决方案 https://www.dedebiz.com
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

select_soft_post.php 4.1KB

3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
3 years ago
3 years ago
2 years ago
3 years ago
3 years ago
3 years ago
2 years ago
3 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <?php
  2. /**
  3. * 选择软件发送
  4. *
  5. * @version $id:select_soft_post.php 9:43 2010年7月8日 tianya $
  6. * @package DedeBIZ.Dialog
  7. * @copyright Copyright (c) 2022 DedeBIZ.COM
  8. * @license GNU GPL v2 (https://www.dedebiz.com/license)
  9. * @link https://www.dedebiz.com
  10. */
  11. if (!isset($cfg_basedir)) {
  12. include_once(dirname(__FILE__).'/config.php');
  13. }
  14. if (empty($uploadfile)) $uploadfile = '';
  15. if (empty($uploadmbtype)) $uploadmbtype = '软件类型';
  16. if (empty($bkurl)) $bkurl = 'select_soft.php';
  17. define("DEDE_DIALOG_UPLOAD", true);
  18. $CKEditorFuncNum = (isset($CKEditorFuncNum)) ? $CKEditorFuncNum : 1;
  19. $newname = (empty($newname) ? '' : preg_replace("#[\\ \"\*\?\t\r\n<>':\/|]#", "", $newname));
  20. $uploadfile = isset($imgfile) && empty($uploadfile) ? $imgfile : $uploadfile;
  21. $uploadfile_name = isset($imgfile_name) && empty($uploadfile_name) ? $imgfile_name : $uploadfile_name;
  22. if (!is_uploaded_file($uploadfile)) {
  23. ShowMsg("您没有选择上传文件或上传的文件大小被限制", "-1");
  24. exit();
  25. }
  26. //软件类型所有支持的附件
  27. $cfg_softtype = str_replace('||', '|', $cfg_softtype);
  28. $uploadfile_name = trim(preg_replace("#[ \r\n\t\*\%\\\/\?><\|\":]{1,}#", '', $uploadfile_name));
  29. if (!preg_match("#\.(".$cfg_softtype.")#i", $uploadfile_name)) {
  30. ShowMsg("您上传的{$uploadmbtype}扩展名已被系统禁止", "-1");
  31. exit();
  32. }
  33. $nowtme = time();
  34. if ($activepath == $cfg_soft_dir) {
  35. $newdir = MyDate($cfg_addon_savetype, $nowtme);
  36. $activepath = $activepath.'/'.$newdir;
  37. if (!is_dir($cfg_basedir.$activepath)) {
  38. MkdirAll($cfg_basedir.$activepath, $cfg_dir_purview);
  39. }
  40. }
  41. //文件名前为手工指定,后者自动处理
  42. if (!empty($newname)) {
  43. $filename = $newname;
  44. if (!preg_match("#\.#", $filename)) $fs = explode('.', $uploadfile_name);
  45. else $fs = explode('.', $filename);
  46. if (preg_match("#".$cfg_not_allowall."#", $fs[count($fs) - 1])) {
  47. ShowMsg("文件扩展名已被系统禁止", "javascript:;");
  48. exit();
  49. }
  50. if (!preg_match("#\.#", $filename)) $filename = $filename.'.'.$fs[count($fs) - 1];
  51. } else {
  52. $filename = $cuserLogin->getUserID().'-'.dd2char(MyDate('ymdHis', $nowtme));
  53. $fs = explode('.', $uploadfile_name);
  54. if (preg_match("#".$cfg_not_allowall."#", $fs[count($fs) - 1])) {
  55. ShowMsg("您上传的文件失败,请重新上传", "-1");
  56. exit();
  57. }
  58. $filename = $filename.'.'.$fs[count($fs) - 1];
  59. }
  60. if (preg_match('#\.(php|pl|cgi|asp|aspx|jsp|php5|php4|php3|shtm|shtml|htm)$#i', trim($filename))) {
  61. ShowMsg("文件扩展名已被系统禁止", "javascript:;");
  62. exit();
  63. }
  64. $fullfilename = $cfg_basedir.$activepath.'/'.$filename;
  65. $fullfileurl = $activepath.'/'.$filename;
  66. $mime = get_mime_type($uploadfile);
  67. if (preg_match("#^unknow#", $mime)) {
  68. ShowMsg("系统不支持fileinfo组件,建议php.ini中开启", -1);
  69. exit;
  70. }
  71. if (!preg_match("#^(image|video|audio|application)#i", $mime)) {
  72. ShowMsg("仅支持媒体文件及应用程序上传", -1);
  73. exit;
  74. }
  75. move_uploaded_file($uploadfile, $fullfilename) or die("上传文件到".$fullfilename."失败");
  76. @unlink($uploadfile);
  77. if ($uploadfile_type == 'application/x-shockwave-flash') {
  78. $mediatype = 2;
  79. } else if (preg_match('#image#i', $uploadfile_type)) {
  80. $mediatype = 1;
  81. } else if (preg_match('#audio|media|video#i', $uploadfile_type)) {
  82. $mediatype = 3;
  83. } else {
  84. $mediatype = 4;
  85. }
  86. $inquery = "INSERT INTO `#@__uploads` (arcid,title,url,mediatype,width,height,playtime,filesize,uptime,mid) VALUES ('0','$filename','$fullfileurl','$mediatype','0','0','0','{$uploadfile_size}','{$nowtme}','".$cuserLogin->getUserID()."'); ";
  87. $dsql->ExecuteNoneQuery($inquery);
  88. $fid = $dsql->GetLastID();
  89. AddMyAddon($fid, $fullfileurl);
  90. if ($ck == 1) {
  91. $funcNum = isset($_GET['CKEditorFuncNum']) ? $_GET['CKEditorFuncNum'] : 1;
  92. $url = $fullfileurl;
  93. $arr = array(
  94. "uploaded" => 1,
  95. "fileName" => $filename,
  96. "url" => $url,
  97. );
  98. echo json_encode($arr);
  99. } else {
  100. ShowMsg("成功上传文件", $bkurl."?comeback=".urlencode($filename)."&f=$f&CKEditorFuncNum=$CKEditorFuncNum&activepath=".urlencode($activepath)."&d=".time());
  101. exit();
  102. }
  103. ?>