123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- <?php
- include "conn.php";
- checkLogin("");
- header('Content-Type: application/json; charset=UTF-8');
- $inputname = 'filedata';
- $attachdir = 'u';
- $dirtype = 2;
- $maxattachsize = 5242880;
- $upext = 'txt,rar,zip,jpg,jpeg,gif,png,swf,wmv,avi,wma,mp3,mid,pdf';
- $msgtype = 2;
- $immediate = $_GET['immediate'] ?? '';
- $id = $_GET['id'] ?? '';
- $err = '';
- $msg = "''";
- if (!isset($_FILES[$inputname])) {
- $err = "无数据提交";
- } else if ($_FILES[$inputname]['error'] > 0) {
- switch($_FILES[$inputname]['error']) {
- case 1:
- case 2:
- $err = "文件大小超过 " . $maxattachsize . "字节";
- break;
- case 3:
- $err = "文件只有部分被上传";
- break;
- case 4:
- $err = "没有文件被上传";
- break;
- case 6:
- $err = "找不到临时文件夹";
- break;
- case 7:
- $err = "文件写入失败";
- break;
- default:
- $err = "未知上传错误";
- }
- } else if ($_FILES[$inputname]['size'] > $maxattachsize) {
- $err = "文件大小超过 " . $maxattachsize . "字节";
- } else {
- $filename = $_FILES[$inputname]['name'];
- $tmpfile = $_FILES[$inputname]['tmp_name'];
- $extension = strtolower(pathinfo($filename, PATHINFO_EXTENSION));
-
-
- $allowed_types = explode(',', $upext);
- if (!in_array($extension, $allowed_types)) {
- $err = "上传文件扩展名必需为:" . $upext;
- } else {
-
- switch($dirtype) {
- case 1:
- $attach_subdir = "day_" . date('ymd');
- break;
- case 2:
- $attach_subdir = "m" . date('ym');
- break;
- case 3:
- $attach_subdir = "ext_" . $extension;
- break;
- }
-
- $attach_dir = $attachdir . '/' . $attach_subdir . '/';
-
-
- if (!file_exists($attach_dir)) {
- mkdir($attach_dir, 0777, true);
- }
-
-
- $newfilename = date('dHis') . sprintf("%02d", rand(0, 99)) . '.' . $extension;
- $target = $attach_dir . $newfilename;
-
-
- if (move_uploaded_file($tmpfile, $target)) {
- $imgurl = $target;
- if ($immediate == '1') {
- $target = '!' . $target;
- }
-
- if ($msgtype == 1) {
- $msg = "'" . jsonString($target) . "'";
- } else {
- $msg = "{" .
- "'url':'" . jsonString($target) . "'," .
- "'localname':'" . jsonString($filename) . "'," .
- "'id':'1'" .
- "}";
- }
- } else {
- $err = "文件上传失败";
- }
- }
- }
- $act = $_GET['act'] ?? '';
- if ($act == 's') {
- echo "<script>parent.document.getElementById('" . $id . "').value='/System/" . $imgurl . "';location.href='imgUpload.php';</script>";
- } else {
- echo json_encode([
- 'err' => jsonString($err),
- 'msg' => $msg
- ]);
- }
- function jsonString($str) {
- return str_replace(
- ['\\', '/', "'"],
- ['\\\\', '\\/', "\\'"],
- $str
- );
- }
|