編輯器Ueditor找不到臨時文件解決辦法

困擾我多天的問題終於解決了!
對比了多個編輯器,發現仍是Ueditor最好用,而後換了服務器以後,Ueditor上傳圖片的時候老是提示找不到臨時文件,上傳不成功!php

解決辦法:
UEditor/ueditor/php/ 目錄有個Uploader.class.php的文件,其中upfile()方法以下:服務器

/**
 * 上傳文件的主處理方法
 * @return mixed
 */
private function upFile()
{
    $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 (!file_exists($file['tmp_name'])) {
        $this->stateInfo = $this->getStateInfo("ERROR_TMP_FILE_NOT_FOUND");
        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;
    }
 
    // 建立目錄失敗
    if (!file_exists($dirname) && !mkdir($dirname, 0777, true)) {
        $this->stateInfo = $this->getStateInfo("ERROR_CREATE_DIR");
        return;
    } else if (!is_writeable($dirname)) {
        $this->stateInfo = $this->getStateInfo("ERROR_DIR_NOT_WRITEABLE");
        return;
    }
 
    // 移動文件
    if (!(move_uploaded_file($file["tmp_name"], $this->filePath) && file_exists($this->filePath))) { //移動失敗
        $this->stateInfo = $this->getStateInfo("ERROR_FILE_MOVE");
    } else { //移動成功
        $this->stateInfo = $this->stateMap[0];
    }
 
    if( Typecho_Widget::widget('Widget_Options')->plugin('UEditor')->upyun )
    {
        $this->upload2upyun($this->filePath, $this->fullName);
    }
}

將判斷臨時文件的部分註釋掉:編輯器

/* else if (!file_exists($file['tmp_name'])) {
            $this->stateInfo = $this->getStateInfo("ERROR_TMP_FILE_NOT_FOUND");
            return;
        } else if (!is_uploaded_file($file['tmp_name'])) {
            $this->stateInfo = $this->getStateInfo("ERROR_TMPFILE");
            return;
        }*/
相關文章
相關標籤/搜索