国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 后端開發(fā) php教程 thinkphp實現(xiàn)UploadFile.class.php圖片上傳效能

thinkphp實現(xiàn)UploadFile.class.php圖片上傳效能

Jun 13, 2016 pm 12:01 PM
gt image nbsp quot

thinkphp實現(xiàn)UploadFile.class.php圖片上傳功能

圖片上傳在網站里是很常用的功能.ThinkPHP里也有自帶的圖片上傳類(UploadFile.class.php) 和圖片模型類(Image.class.php)。方便于我們去實現(xiàn)圖片上傳功能,下面是實現(xiàn)方法

1.我們首先需要創(chuàng)建一個表

復制代碼代碼如下:

CREATE TABLE IF NOT EXISTS `tp_image` (
? `id` int(11) NOT NULL AUTO_INCREMENT,
? `image` varchar(200) NOT NULL,
? `create_time` int(11) NOT NULL,
? PRIMARY KEY (`id`)
) ENGINE=MyISAM? DEFAULT CHARSET=utf8;

2.然后再conf文件里添加配置(最后一段配置是可選的,只是為了方便統(tǒng)一管理URL路徑)

復制代碼代碼如下:

return array(
??????? 'URL_MODEL'??? =>??? 2, // 如果你的環(huán)境不支持PATHINFO 請設置為3
??????? 'DB_TYPE'??? =>??? 'mysql',
??????? 'DB_HOST'??? =>??? 'localhost',
??????? 'DB_NAME'??? =>??? 'thinkphp',
??????? 'DB_USER'??? =>??? 'root',
??????? 'DB_PWD'??? =>??? '',
??????? 'DB_PORT'??? =>??? '3306',
??????? 'DB_PREFIX'??? =>??? 'tp_',

??????? 'SHOW_PAGE_TRACE' =>true,??????? //顯示頁面調試明細

??????? 'TMPL_PARSE_STRING' =>? array( // 地址替換,用_UPLOAD_目錄 代替 根目錄下的Upload目錄
???????? '__UPLOAD__'??? =>? __ROOT__.'/Uploads',
???? ),
);
?>

3.添加一個Image模塊(名字可以隨便取)

復制代碼代碼如下:

??? class ImageAction extends Action{????????

??????? /**
???????? * 創(chuàng)建index 入口方法
???????? */
??????? public function index(){
??????????? $image=M('Image');???????????????????????
??????????? $data=$image->order('create_time desc')->find();??? //獲取最后上傳圖片
??????????? $this->assign('data',$data);
??????????? $this->display();
??????? }?
?>

4.創(chuàng)建相應index視圖文件(index.html)

復制代碼代碼如下:





Insert title here



???
上傳允許文件類型:gif png jpg 圖像文件,并生成2張縮略圖,其中大圖帶水印,生成后會刪除原圖。


??? thinkphp實現(xiàn)UploadFile.class.php圖片上傳效能 thinkphp實現(xiàn)UploadFile.class.php圖片上傳效能
???

???????
??????? ?
???



5.選擇圖片,點擊上傳按鈕后,會跳到Image模塊的upload方法上,Image模塊上現(xiàn)在還沒有這個方法,于是我們創(chuàng)建它

復制代碼代碼如下:

??? class ImageAction extends Action{????????

??????? /**
???????? * 創(chuàng)建index 入口方法
???????? */
??????? public function index(){
??????????? $image=M('Image');????????????????????????
??????????? $data=$image->order('create_time desc')->find();??? //獲取最后上傳圖片

??????????? var_dump($data);
??????????? $this->assign('data',$data);
??????????? $this->display();
??????? }?

??????? //如果上傳的文件不為空,跳轉到_upload方法
??????? public function upload(){????????
??????????? //如果不為空
??????????? if(!empty($_FILES))
??????????? {
??????????????? $this->_upload();
??????????? }

??????? }

6.如果提交的不是NULL,則跳到_upload方法上,此方法實現(xiàn)圖片上傳的功能

復制代碼代碼如下:

??? class ImageAction extends Action{????????

??????? /**
???????? * 創(chuàng)建index 入口方法
???????? */
??????? public function index(){
??????????? $image=M('Image');????????????????????????
??????????? $data=$image->order('create_time desc')->find();??? //獲取最后上傳圖片

??????????? var_dump($data);
??????????? $this->assign('data',$data);
??????????? $this->display();
??????? }?

????????
??????? //如果上傳的文件不為空,跳轉到_upload方法
??????? public function upload(){????????
??????????? //如果不為空
??????????? if(!empty($_FILES))
??????????? {
??????????????? $this->_upload();
??????????? }

??????? }

????????
??????? /***
???????? * 實現(xiàn)圖片上傳
???????? */
??????? public function _upload(){
??????????? import('@.ORG.UploadFile');
??????????? //導入上傳類
??????????? $upload = new UploadFile();
??????????? //設置上傳文件大小
??????????? $upload->maxSize??????????? = 3292200;
??????????? //設置上傳文件類型
??????????? $upload->allowExts????????? = explode(',', 'jpg,gif,png,jpeg');
??????????? //設置附件上傳目錄
??????????? $upload->savePath?????????? = './Uploads/';
??????????? //設置需要生成縮略圖,僅對圖像文件有效
??????????? $upload->thumb????????????? = true;
??????????? // 設置引用圖片類庫包路徑
??????????? $upload->imageClassPath???? = '@.ORG.Image';
??????????? //設置需要生成縮略圖的文件后綴
??????????? $upload->thumbPrefix??????? = 'm_,s_';? //生產2張縮略圖
??????????? //設置縮略圖最大寬度
??????????? $upload->thumbMaxWidth????? = '400,100';
??????????? //設置縮略圖最大高度
??????????? $upload->thumbMaxHeight???? = '400,100';
??????????? //設置上傳文件規(guī)則
??????????? $upload->saveRule?????????? = 'uniqid';
??????????? //刪除原圖
??????????? $upload->thumbRemoveOrigin? = true;

????????????
??????????? //如果上傳不成功
??????????? if (!$upload->upload())?
??????????? {
??????????????? //捕獲上傳異常
??????????????? $this->error($upload->getErrorMsg());
??????????? }?
??????????? else?
??????????? {
??????????????? //取得成功上傳的文件信息
??????????????? $uploadList = $upload->getUploadFileInfo();

????????????????
??????????????? //導入圖片類
??????????????? import('@.ORG.Image');????????????????

??????????????? //給m_縮略圖添加水印, Image::water('原文件路徑','水印圖片地址')
??????????????? Image::water($uploadList[0]['savepath'] . 'm_' . $uploadList[0]['savename'], APP_PATH.'Tpl/Public/Images/logo.png');

??????????????? //圖片名賦值給 字段image
??????????????? $_POST['image'] = $uploadList[0]['savename'];
??????????? }
??????????? $model? = M('image');
??????????? //保存當前數(shù)據(jù)對象
??????????? $data['image']????????? = $_POST['image'];
??????????? $data['create_time']??? = NOW_TIME;
??????????? $list?? = $model->add($data);
??????????? if ($list !== false)?
??????????? {
??????????????? $this->success('上傳圖片成功!');
??????????? }?
??????????? else?
??????????? {
??????????????? $this->error('上傳圖片失敗!');
??????????? }
??????? }????????
??? }
?>

上傳成功生成兩張縮略圖

需要說明的是:

ThinkPHP里自帶的圖片上傳類(UploadFile.class.php) 和圖片模型類(Image.class.php),要完整版的ThinkPHP包才有。

沒有的話需要在Lib里創(chuàng)建一個文件夾(ORG),然后去官網下載擴展包把這兩個文件放到ORG文件夾中。

我的是第二種情況


本站聲明
本文內容由網友自發(fā)貢獻,版權歸原作者所有,本站不承擔相應法律責任。如您發(fā)現(xiàn)有涉嫌抄襲侵權的內容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅動的應用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

Windows 11 上調整窗口邊框設置的方法:更改顏色和大小 Windows 11 上調整窗口邊框設置的方法:更改顏色和大小 Sep 22, 2023 am 11:37 AM

Windows11將清新優(yōu)雅的設計帶到了最前沿;現(xiàn)代界面允許您個性化和更改最精細的細節(jié),例如窗口邊框。在本指南中,我們將討論分步說明,以幫助您在Windows操作系統(tǒng)中創(chuàng)建反映您的風格的環(huán)境。如何更改窗口邊框設置?按+打開“設置”應用。WindowsI轉到個性化,然后單擊顏色設置。顏色更改窗口邊框設置窗口11“寬度=”643“高度=”500“>找到在標題欄和窗口邊框上顯示強調色選項,然后切換它旁邊的開關。若要在“開始”菜單和任務欄上顯示主題色,請打開“在開始”菜單和任務欄上顯示主題

解決方法:您的組織要求您更改 PIN 碼 解決方法:您的組織要求您更改 PIN 碼 Oct 04, 2023 pm 05:45 PM

“你的組織要求你更改PIN消息”將顯示在登錄屏幕上。當在使用基于組織的帳戶設置的電腦上達到PIN過期限制時,就會發(fā)生這種情況,在該電腦上,他們可以控制個人設備。但是,如果您使用個人帳戶設置了Windows,則理想情況下不應顯示錯誤消息。雖然情況并非總是如此。大多數(shù)遇到錯誤的用戶使用個人帳戶報告。為什么我的組織要求我在Windows11上更改我的PIN?可能是您的帳戶與組織相關聯(lián),您的主要方法應該是驗證這一點。聯(lián)系域管理員會有所幫助!此外,配置錯誤的本地策略設置或不正確的注冊表項也可能導致錯誤。即

如何在 Windows 11 上更改標題欄顏色? 如何在 Windows 11 上更改標題欄顏色? Sep 14, 2023 pm 03:33 PM

默認情況下,Windows11上的標題欄顏色取決于您選擇的深色/淺色主題。但是,您可以將其更改為所需的任何顏色。在本指南中,我們將討論三種方法的分步說明,以更改它并個性化您的桌面體驗,使其具有視覺吸引力。是否可以更改活動和非活動窗口的標題欄顏色?是的,您可以使用“設置”應用更改活動窗口的標題欄顏色,也可以使用注冊表編輯器更改非活動窗口的標題欄顏色。若要了解這些步驟,請轉到下一部分。如何在Windows11中更改標題欄的顏色?1.使用“設置”應用按+打開設置窗口。WindowsI前往“個性化”,然

Windows 11 上啟用或禁用任務欄縮略圖預覽的方法 Windows 11 上啟用或禁用任務欄縮略圖預覽的方法 Sep 15, 2023 pm 03:57 PM

任務欄縮略圖可能很有趣,但它們也可能分散注意力或煩人。考慮到您將鼠標懸停在該區(qū)域的頻率,您可能無意中關閉了重要窗口幾次。另一個缺點是它使用更多的系統(tǒng)資源,因此,如果您一直在尋找一種提高資源效率的方法,我們將向您展示如何禁用它。不過,如果您的硬件規(guī)格可以處理它并且您喜歡預覽版,則可以啟用它。如何在Windows11中啟用任務欄縮略圖預覽?1.使用“設置”應用點擊鍵并單擊設置。Windows單擊系統(tǒng),然后選擇關于。點擊高級系統(tǒng)設置。導航到“高級”選項卡,然后選擇“性能”下的“設置”。在“視覺效果”選

OOBELANGUAGE錯誤Windows 11 / 10修復中出現(xiàn)問題的問題 OOBELANGUAGE錯誤Windows 11 / 10修復中出現(xiàn)問題的問題 Jul 16, 2023 pm 03:29 PM

您是否在Windows安裝程序頁面上看到“出現(xiàn)問題”以及“OOBELANGUAGE”語句?Windows的安裝有時會因此類錯誤而停止。OOBE表示開箱即用的體驗。正如錯誤提示所表示的那樣,這是與OOBE語言選擇相關的問題。沒有什么可擔心的,你可以通過OOBE屏幕本身的漂亮注冊表編輯來解決這個問題。快速修復–1.單擊OOBE應用底部的“重試”按鈕。這將繼續(xù)進行該過程,而不會再打嗝。2.使用電源按鈕強制關閉系統(tǒng)。系統(tǒng)重新啟動后,OOBE應繼續(xù)。3.斷開系統(tǒng)與互聯(lián)網的連接。在脫機模式下完成OOBE的所

Windows 11 上的顯示縮放比例調整指南 Windows 11 上的顯示縮放比例調整指南 Sep 19, 2023 pm 06:45 PM

在Windows11上的顯示縮放方面,我們都有不同的偏好。有些人喜歡大圖標,有些人喜歡小圖標。但是,我們都同意擁有正確的縮放比例很重要。字體縮放不良或圖像過度縮放可能是工作時真正的生產力殺手,因此您需要知道如何對其進行自定義以充分利用系統(tǒng)功能。自定義縮放的優(yōu)點:對于難以閱讀屏幕上的文本的人來說,這是一個有用的功能。它可以幫助您一次在屏幕上查看更多內容。您可以創(chuàng)建僅適用于某些監(jiān)視器和應用程序的自定義擴展配置文件。可以幫助提高低端硬件的性能。它使您可以更好地控制屏幕上的內容。如何在Windows11

10種在 Windows 11 上調整亮度的方法 10種在 Windows 11 上調整亮度的方法 Dec 18, 2023 pm 02:21 PM

屏幕亮度是使用現(xiàn)代計算設備不可或缺的一部分,尤其是當您長時間注視屏幕時。它可以幫助您減輕眼睛疲勞,提高易讀性,并輕松有效地查看內容。但是,根據(jù)您的設置,有時很難管理亮度,尤其是在具有新UI更改的Windows11上。如果您在調整亮度時遇到問題,以下是在Windows11上管理亮度的所有方法。如何在Windows11上更改亮度[10種方式解釋]單顯示器用戶可以使用以下方法在Windows11上調整亮度。這包括使用單個顯示器的臺式機系統(tǒng)以及筆記本電腦。讓我們開始吧。方法1:使用操作中心操作中心是訪問

如何修復Windows服務器中的激活錯誤代碼0xc004f069 如何修復Windows服務器中的激活錯誤代碼0xc004f069 Jul 22, 2023 am 09:49 AM

Windows上的激活過程有時會突然轉向顯示包含此錯誤代碼0xc004f069的錯誤消息。雖然激活過程已經聯(lián)機,但一些運行WindowsServer的舊系統(tǒng)可能會遇到此問題。通過這些初步檢查,如果這些檢查不能幫助您激活系統(tǒng),請?zhí)D到主要解決方案以解決問題。解決方法–關閉錯誤消息和激活窗口。然后,重新啟動計算機。再次從頭開始重試Windows激活過程。修復1–從終端激活從cmd終端激活WindowsServerEdition系統(tǒng)。階段–1檢查Windows服務器版本您必須檢查您使用的是哪種類型的W

See all articles