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

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

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

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

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

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

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

復(fù)制代碼代碼如下:

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路徑)

復(fù)制代碼代碼如下:

return array(
??????? 'URL_MODEL'??? =>??? 2, // 如果你的環(huán)境不支持PATHINFO 請設(shè)置為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,??????? //顯示頁面調(diào)試明細(xì)

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

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

復(fù)制代碼代碼如下:

??? 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)建相應(yīng)index視圖文件(index.html)

復(fù)制代碼代碼如下:





Insert title here



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


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

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



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

復(fù)制代碼代碼如下:

??? 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();
??????? }?

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

??????? }

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

復(fù)制代碼代碼如下:

??? 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();
??????? }?

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

??????? }

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

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

????????????????
??????????????? //導(dǎo)入圖片類
??????????????? 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');
??????????? //保存當(dāng)前數(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),然后去官網(wǎng)下載擴(kuò)展包把這兩個文件放到ORG文件夾中。

我的是第二種情況


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

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

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

Dreamweaver CS6

Dreamweaver CS6

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

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

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

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

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

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

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

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

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

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

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

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

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

在Windows11上的顯示縮放方面,我們都有不同的偏好。有些人喜歡大圖標(biāo),有些人喜歡小圖標(biāo)。但是,我們都同意擁有正確的縮放比例很重要。字體縮放不良或圖像過度縮放可能是工作時真正的生產(chǎn)力殺手,因此您需要知道如何對其進(jìn)行自定義以充分利用系統(tǒng)功能。自定義縮放的優(yōu)點(diǎn):對于難以閱讀屏幕上的文本的人來說,這是一個有用的功能。它可以幫助您一次在屏幕上查看更多內(nèi)容。您可以創(chuàng)建僅適用于某些監(jiān)視器和應(yīng)用程序的自定義擴(kuò)展配置文件??梢詭椭岣叩投擞布男阅堋K鼓梢愿玫乜刂破聊簧系膬?nèi)容。如何在Windows11

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

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

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

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

See all articles