Beispiel #1
0
function markdown_upload_ajax_image()
{
    global $zbp;
    $xhr = array('error' => "", 'url' => "");
    foreach ($_FILES as $key => $value) {
        if ($_FILES[$key]['error'] == 0) {
            if (is_uploaded_file($_FILES[$key]['tmp_name'])) {
                $tmp_name = $_FILES[$key]['tmp_name'];
                $name = $_FILES[$key]['name'];
                $upload = new Upload();
                $upload->Name = $_FILES[$key]['name'];
                $upload->SourceName = $_FILES[$key]['name'];
                $upload->MimeType = $_FILES[$key]['type'];
                $upload->Size = $_FILES[$key]['size'];
                $upload->AuthorID = $zbp->user->ID;
                if (!$upload->CheckExtName()) {
                    $xhr['error'] = $this->lang['error'][26];
                }
                if (!$upload->CheckSize()) {
                    $xhr['error'] = $this->lang['error'][27];
                }
                $upload->SaveFile($_FILES[$key]['tmp_name']);
                $upload->Save();
            }
        }
    }
    if (isset($upload)) {
        CountMemberArray(array($upload->AuthorID), array(0, 0, 0, +1));
        $xhr['url'] = $upload->Url;
    }
    echo json_encode($xhr);
}
Beispiel #2
0
function PostUpload()
{
    global $zbp;
    foreach ($_FILES as $key => $value) {
        if ($_FILES[$key]['error'] == 0) {
            if (is_uploaded_file($_FILES[$key]['tmp_name'])) {
                $tmp_name = $_FILES[$key]['tmp_name'];
                $name = $_FILES[$key]['name'];
                $upload = new Upload();
                $upload->Name = $_FILES[$key]['name'];
                $upload->SourceName = $_FILES[$key]['name'];
                $upload->MimeType = $_FILES[$key]['type'];
                $upload->Size = $_FILES[$key]['size'];
                $upload->AuthorID = $zbp->user->ID;
                if (!$upload->CheckExtName()) {
                    $zbp->ShowError(26);
                }
                if (!$upload->CheckSize()) {
                    $zbp->ShowError(27);
                }
                $upload->SaveFile($_FILES[$key]['tmp_name']);
                $upload->Save();
            }
        }
    }
    if (isset($upload)) {
        CountMemberArray(array($upload->AuthorID));
    }
}
Beispiel #3
0
    // if (empty($ext_arr[$dir_name])) {
    // 	alert("目录名不正确。");
    // }
    //获得文件扩展名
    $temp_arr = explode(".", $file_name);
    $file_ext = array_pop($temp_arr);
    $file_ext = trim($file_ext);
    $file_ext = strtolower($file_ext);
    //检查扩展名
    if (in_array($file_ext, $ext_arr) === false) {
        alert("上传文件扩展名是不允许的扩展名。\n只允许" . implode(",", $ext_arr) . "格式。");
    }
    $upload = new Upload();
    $upload->Name = date("YmdHis") . '_' . rand(10000, 99999) . '.' . $file_ext;
    $upload->SourceName = $file_name;
    $upload->MimeType = $_FILES['imgFile']['type'];
    $upload->Size = $file_size;
    $upload->AuthorID = $zbp->user->ID;
    $upload->SaveFile($tmp_name);
    $upload->Save();
    $file_url = $upload->Url;
    header('Content-type: text/html; charset=UTF-8');
    echo json_encode(array('error' => 0, 'url' => $file_url));
    exit;
}
function alert($msg)
{
    header('Content-type: text/html; charset=UTF-8');
    echo json_encode(array('error' => 1, 'message' => $msg));
    exit;
}
Beispiel #4
0
 /**
  * 上传文件的主处理方法
  * @return mixed
  */
 private function upFile()
 {
     global $zbp;
     $file = $this->file = $_FILES[$this->fileField];
     if (!$file) {
         $this->stateInfo = $this->getStateInfo("ERROR_FILE_NOT_FOUND");
         return;
     }
     if ($this->file['error']) {
         $this->stateInfo = $this->getStateInfo($file['error']);
         return;
     } else {
         if (!is_uploaded_file($file['tmp_name'])) {
             $this->stateInfo = $this->getStateInfo("ERROR_TMPFILE");
             return;
         }
     }
     $this->oriName = $file['name'];
     $this->fileSize = $file['size'];
     $this->fileType = $this->getFileExt();
     $this->fullName = $this->getFullName();
     $this->filePath = $this->getFilePath();
     $this->fileName = $this->getFileName();
     $dirname = dirname($this->filePath);
     //检查文件大小是否超出限制
     if (!$this->checkSize()) {
         $this->stateInfo = $this->getStateInfo("ERROR_SIZE_EXCEED");
         return;
     }
     //检查是否不允许的文件格式
     if (!$this->checkType()) {
         $this->stateInfo = $this->getStateInfo("ERROR_TYPE_NOT_ALLOWED");
         return;
     }
     $upload = new Upload();
     $upload->Name = $this->fileName;
     $upload->SourceName = $file['name'];
     $upload->MimeType = $file['type'];
     $upload->Size = $this->fileSize;
     $upload->AuthorID = $zbp->user->ID;
     if (!$upload->SaveFile($file['tmp_name'])) {
         $this->stateInfo = $this->getStateInfo("ERROR_FILE_MOVE");
         return;
     }
     $upload->Save();
     $this->fullName = $upload->Url;
     $this->stateInfo = $this->stateMap[0];
 }
Beispiel #5
0
/**
 * 附件上传
 */
function PostUpload()
{
    global $zbp;
    foreach ($_FILES as $key => $value) {
        if ($_FILES[$key]['error'] == 0) {
            if (is_uploaded_file($_FILES[$key]['tmp_name'])) {
                $upload = new Upload();
                $upload->Name = $_FILES[$key]['name'];
                if (GetVars('auto_rename', 'POST') == 'on' || GetVars('auto_rename', 'POST') == true) {
                    $temp_arr = explode(".", $upload->Name);
                    $file_ext = strtolower(trim(array_pop($temp_arr)));
                    $upload->Name = date("YmdHis") . time() . rand(10000, 99999) . '.' . $file_ext;
                }
                $upload->SourceName = $_FILES[$key]['name'];
                $upload->MimeType = $_FILES[$key]['type'];
                $upload->Size = $_FILES[$key]['size'];
                $upload->AuthorID = $zbp->user->ID;
                //检查同月重名
                $d1 = date('Y-m-01', time());
                $d2 = date('Y-m-d', strtotime(date('Y-m-01', time()) . ' +1 month -1 day'));
                $d1 = strtotime($d1);
                $d2 = strtotime($d2);
                $w = array();
                $w[] = array('=', 'ul_Name', $upload->Name);
                $w[] = array('>=', 'ul_PostTime', $d1);
                $w[] = array('<=', 'ul_PostTime', $d2);
                $uploads = $zbp->GetUploadList('*', $w);
                if (count($uploads) > 0) {
                    $zbp->ShowError(28, __FILE__, __LINE__);
                }
                if (!$upload->CheckExtName()) {
                    $zbp->ShowError(26, __FILE__, __LINE__);
                }
                if (!$upload->CheckSize()) {
                    $zbp->ShowError(27, __FILE__, __LINE__);
                }
                $upload->SaveFile($_FILES[$key]['tmp_name']);
                $upload->Save();
            }
        }
    }
    if (isset($upload)) {
        CountMemberArray(array($upload->AuthorID), array(0, 0, 0, +1));
    }
}
Beispiel #6
0
function import_upload()
{
    global $t, $db, $config, $vars;
    $title = "Import. Step 1 of 3 ";
    if (!$_SESSION['import_file_name']) {
        $_SESSION['import_file_name'] = array();
    }
    if (!$vars['use_uploaded'] && $vars['action'] == 'upload') {
        $upload = new Upload($config['root_dir'] . "/data");
        if (!$upload->Error) {
            $upload->SaveFile();
            if (!$upload->Error) {
                $file_for_import = $upload->UploadedFiles[0]['fullpath'];
                if (is_array($_SESSION['import_file_name']) && !in_array($file_for_import, $_SESSION['import_file_name'])) {
                    $_SESSION['import_file_name'][] = $file_for_import;
                }
                $do_next = 1;
            } else {
                $err[] = $upload->Error;
            }
        } else {
            $err[] = $upload->Error;
        }
    } elseif ($vars['use_uploaded'] && $vars['action'] == 'upload') {
        if ($vars['use_uploaded'] == 'imp.csv' && @is_file($config['root_dir'] . "/admin/imp.csv") && @is_readable($config['root_dir'] . "/admin/imp.csv")) {
            $file_for_import = $config['root_dir'] . "/admin/imp.csv";
            if (is_array($_SESSION['import_file_name']) && !in_array($file_for_import, $_SESSION['import_file_name'])) {
                $_SESSION['import_file_name'][] = $file_for_import;
            }
            $do_next = 1;
        } elseif (@is_file($config['root_dir'] . "/data/" . basename($vars['use_uploaded']))) {
            $file_for_import = $config['root_dir'] . "/data/" . basename($vars['use_uploaded']);
            if (is_array($_SESSION['import_file_name']) && !in_array($file_for_import, $_SESSION['import_file_name'])) {
                $_SESSION['import_file_name'][] = $file_for_import;
            }
            $do_next = 1;
        } elseif (@is_file($config['root_dir'] . "/" . basename($vars['use_uploaded']))) {
            $file_for_import = $config['root_dir'] . "/" . basename($vars['use_uploaded']);
            if (is_array($_SESSION['import_file_name']) && !in_array($file_for_import, $_SESSION['import_file_name'])) {
                $_SESSION['import_file_name'][] = $file_for_import;
            }
            $do_next = 1;
        } elseif (@is_file($vars['use_uploaded'])) {
            $file_for_import = $vars['use_uploaded'];
            if (is_array($_SESSION['import_file_name']) && !in_array($file_for_import, $_SESSION['import_file_name'])) {
                $_SESSION['import_file_name'][] = $file_for_import;
            }
            $do_next = 1;
        } else {
            $err[] = "Import file not found.";
        }
    }
    if (!$vars['delim'] && $_SESSION['import_file_delim']) {
        $vars['delim'] = $_SESSION['import_file_delim'];
    }
    if ($vars['delim']) {
        $_SESSION['import_file_delim'] = $vars['delim'];
    }
    if (!$err && $do_next) {
        if (!($f = @fopen($file_for_import, 'r'))) {
            $err[] = "Cannot open file '{$file_for_import}' for import";
            @fclose($f);
        } else {
            $line = fgets($f, 4096);
            if (preg_match("/\n/", $line) && preg_match("/\r/", $line)) {
                $l = $line;
            } elseif (preg_match("/\r/", $line)) {
                $l = preg_split("/\r/", $line);
                $l = $l[0];
            } else {
                $l = $line;
            }
            $l = explode($vars['delim'], $l);
            @fclose($f);
            if (count($l) >= 2) {
                import_select_fields($file_for_import, $vars['delim'], $l);
            } else {
                $err[] = "Fields not found or number of fields < 2";
            }
        }
    }
    if ($err) {
        $t->assign('error', $err);
        $title .= "Error : " . $err[0];
    } else {
        $title .= ": Select import file";
    }
    $t->assign('delim', $vars['delim'] ? $vars['delim'] : $_SESSION['import_file_delim']);
    $t->assign('previous_files', $_SESSION['import_file_name']);
    if (count($_SESSION['import_file_name']) == 1) {
        $t->assign('preselected_file', $_SESSION['import_file_name'][0]);
    }
    $t->assign('title', $title);
    $t->display('admin/import_upload.html');
}