1. 程式人生 > >關於thinkphp5的上傳圖片和ckeditor

關於thinkphp5的上傳圖片和ckeditor

        $callback = input('CKEditorFuncNum');
        $upload = $_FILES['upload'];
        switch($upload['error']){
            case 0://說明上傳沒有什麼錯誤
                break;
            case 1:
            case 2:
                $error = '上傳檔案大小超過了最大值!'.ini_get('upload_max_filesize');
                break;
            case 3:
                $error = '檔案只有部分被上傳!';
                break;
            case 4:
                $error = '沒有檔案被上傳!';
                break;
            case 6:
                $error = '找不到臨時資料夾!';
                break;
            case 7:
                $error = '檔案寫入失敗!';
                break;
            default:
                $error = '未知上傳錯誤!';
        }
        if(isset($error)){
            echo "<script>window.parent.CKEDITOR.tools.callFunction($callback, '', '".$error."');</script>";exit();
        }
        if($upload['size']>204800){
            echo "<script>window.parent.CKEDITOR.tools.callFunction($callback, '', '圖片大小不得大於200kb');</script>";exit();
        }


        $file = request()->file('upload');//首先這一步不可靠,因為當檔案有錯誤時這邊根本不會有資訊,比如上傳過大,$_FILES有元素,error=1,這邊獲取的元素就為空,所以這部之前應該先處理以下,確保$file不為空
        //這一步就需要先檢查下是不是圖片型別了
        //$isimage = $file->checkImg();//用的是file的方法
        $ext = $file->checkExt('jpg,png,gif,jpeg');//'gif', 'jpg', 'jpeg', 'bmp', 'png', 'swf'
        $yange = $file->checkImg();
        if($ext && $yange){
            list($width, $height, $type, $attr) = getimagesize($file->getPathname());
            if($width>1000){
                //echo "<script type='text/javascript'>window.top.alert('圖片寬度不得大於1000')</script>";exit();
                echo "<script>window.parent.CKEDITOR.tools.callFunction($callback, '', '圖片寬度不得大於1000px');</script>";exit();
            }
            if($height>500){
                //echo "<font color=\"red\"size=\"2\">圖片高度不得大於500</font>";exit();
                echo "<script>window.parent.CKEDITOR.tools.callFunction($callback, '', '圖片高度不得大於500px');</script>";exit();
            }


        }else{
            echo "<script>window.parent.CKEDITOR.tools.callFunction($callback, '', '請上傳圖片型別');</script>";exit();
        }
        $info = $file->validate(['ext'=>'jpg,png,gif,jpeg'])->move(ROOT_PATH . 'public' . DS . 'ckeditor');
        $data = array();
        if($info){
            $previewname = DS.'public' . DS . 'ckeditor' . DS . $info->getSaveName();
            $previewname = str_replace('\\','\/',$previewname);
            echo "<script type='text/javascript'>window.parent.CKEDITOR.tools.callFunction($callback,'".$previewname."','');</script>";
        }else{
            echo "<script>window.parent.CKEDITOR.tools.callFunction($callback, '', '".$file->getError()."');</script>";exit();
        }

相關推薦

關於thinkphp5圖片ckeditor

        $callback = input('CKEditorFuncNum');         $upload = $_FILES['upload'];         switch($upload['error']){             case 0:/

CKEditor標準版新增圖片檔案

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"&g

ajax之---圖片預覽

上傳圖片 TE obj ret upload play targe review sta views.py def upload_img(request): nid=str(uuid.uuid4()) ret={‘status‘:True,‘data‘:None

[Python] Django框架入門5——靜態文件、中間件、圖片分頁

manage input 上傳文件 數據分頁 提交 family 數據 3.5 func 說明:   本文主要描述Django其他的內容,涉及靜態文件處理、中間件、上傳文件、分頁等。   開發環境:win10、Python3.5、Django1.10。    一、靜態文件處

七牛圖片二進制流方法

mini ram uuid 方法 throws rom ack 其他 try package com.qlyd.aspmanager.common.qiniu;import com.alibaba.fastjson.JSON;import com.google.gson.G

簡單的PHP圖片刪除圖片示例程式碼

分享一例簡單的PHP上傳圖片和刪除圖片示例程式碼,很簡單,適合初學的朋友參考,用來研究php上傳圖片還是不錯的。 <?phpif (!empty($_FILES["img"]["name"])) { //提取檔案域內容名稱,並判斷$path=”uppic/”; //上傳路徑if(!file_exist

vue中同時使用element元件的upload圖片wangEditor富文字編輯器

1.wangEditor —— 輕量級 web 富文字編輯器,配置方便,使用簡單。支援 IE10+ 瀏覽器。 下載wangEditor:npm install wangeditor(英文小寫) 官網:www.wangEditor.com 文件:www.kancloud.cn/wa

如何使用elementUI呼叫一次介面同時圖片檔案,同時需要攜帶其他引數,實現呼叫後端介面

今天有一個坑,同時要上傳圖片和檔案,而且圖片要展示縮圖,檔案要展示列表。 我的思路是: 首先,只上傳附件照片,這個直接看ele的官方例子就行,不僅僅上傳附件照片,還同時上傳其他引數。 然後,再做上傳照片和檔案,上傳其他引數,其實也就是檔案合併。   一、上傳照片和其他引

關於圖片視訊的元件

1.upload元件 <template> <div class="uploadPicture"> <div class="imgList" v-for="(item,index) of imgList"> <

關於百度編輯器圖片視訊的具體步驟(絕對能用)

過年之後來到公司的第一件事就是整後臺的上傳圖片和視訊到圖片伺服器,也就是到指定的路勁,這個功能很實用。以前用的ckeditor,現在我給整成了百度編輯器,以下是使用方法。親測可用 我也是在網上找了好幾天的資料,說實話,好多人出現的問題都不一樣,所以導致現在網上的眾說紛紜也只

Android圖片文字到伺服器

1. 首先到Appache官網下載第三方jar包httpmime(可以到這裡下載http://download.csdn.net/detail/likesidehu/9651525,這個jar包配合下面程式碼驗證沒問題) 2. 伺服器地址: http://localhost

jfinal利用form表單同時圖片text

一:頁面 <form class="form-horizontal" action="/users/upload" method="post" enctype="multipart/form-data" name="myform" id="myform"><

thinkphp5圖片及生成縮圖公共方法

直接上程式碼,可以寫在公共檔案common和繼承的基礎類中,方便呼叫 /* * $name為表單上傳的name值 * $filePath為為儲存在入口資料夾public下面uploads/下面的資料夾名稱,沒有的話會自動建立 * $width指

H5 移動端圖片 視訊 頁面顯示縮圖

這是我第一次寫部落格,想要分享一下程式設計經驗,因為我也算是一個菜鳥而已,在程式設計過程中,很多問題 都是通過百度,通過CSDN裡面的各位大神分享的經驗,才得以解決的,所以我也是本著造福他人,也完善自己的意願,開始寫寫部落格,分享一下程式設計中遇到的問題及解決方法。好,廢話不

圖片匯出測試點梳理

一:上傳圖片 對於上傳的檔案,假設系統要求上傳的檔案為jpg或gif格式圖片,大小為<=5M的檔案,我們在設計測試用例時,應該從以下幾個方面進行考慮: 1:檔案型別正確,檔案大小合適的校驗 例如:上傳一種jpg或gif的格式圖片,檔案大小為4.9M,結果為上傳成功

thinkphp的同步圖片異步圖片

支持 ech oca setup ssa value att 僅支持 移動 同步: 前臺頁面: <div class="form-div"> <form action="{:url(‘index/i/edit_h

圖片匯出檔案測試用例

一:上傳圖片 對於上傳的檔案,假設系統要求上傳的檔案為jpg或gif格式圖片,大小為<=5M的檔案,我們在設計測試用例時,應該從以下幾個方面進行考慮: 1:檔案型別正確,檔案大小合適的校驗 例如:上傳一種jpg或gif的格式圖片,檔案大小為4.9M,結果為上傳成功 2:檔案型別正確,檔案大小不合適的校

Android 自己封裝HttpUrlConnection圖片欄位

/** * Created by hui on 2017/5/8. */ import android.util.Log; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; imp

AFNetWorking3.0 圖片 簡單封裝

{          NSString *url = @"";//放上傳圖片的網址     AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];//初始化請求物件     manager.responseSerializer = [A

Android中使用HttpPost圖片資料

1、首先需要對應的JAR包 匯入 httpmime-4.1.1.jar package url;   import io.IoStreamUtil;   import java.io.File;   import java.io.IOException;   imp