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

Rumah pembangunan bahagian belakang tutorial 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文件夾中。

我的是第二種情況


Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Penyelesaian: Organisasi anda memerlukan anda menukar PIN anda Penyelesaian: Organisasi anda memerlukan anda menukar PIN anda Oct 04, 2023 pm 05:45 PM

Mesej "Organisasi anda memerlukan anda menukar PIN anda" akan muncul pada skrin log masuk. Ini berlaku apabila had tamat tempoh PIN dicapai pada komputer menggunakan tetapan akaun berasaskan organisasi, di mana mereka mempunyai kawalan ke atas peranti peribadi. Walau bagaimanapun, jika anda menyediakan Windows menggunakan akaun peribadi, sebaiknya mesej ralat tidak akan muncul. Walaupun ini tidak selalu berlaku. Kebanyakan pengguna yang mengalami ralat melaporkan menggunakan akaun peribadi mereka. Mengapa organisasi saya meminta saya menukar PIN saya pada Windows 11? Ada kemungkinan akaun anda dikaitkan dengan organisasi dan pendekatan utama anda adalah untuk mengesahkan perkara ini. Menghubungi pentadbir domain anda boleh membantu! Selain itu, tetapan dasar tempatan yang salah konfigurasi atau kunci pendaftaran yang salah boleh menyebabkan ralat. Sekarang ni

Cara melaraskan tetapan sempadan tetingkap pada Windows 11: Tukar warna dan saiz Cara melaraskan tetapan sempadan tetingkap pada Windows 11: Tukar warna dan saiz Sep 22, 2023 am 11:37 AM

Windows 11 membawa reka bentuk yang segar dan elegan ke hadapan antara muka moden membolehkan anda memperibadikan dan menukar butiran terbaik, seperti sempadan tingkap. Dalam panduan ini, kami akan membincangkan arahan langkah demi langkah untuk membantu anda mencipta persekitaran yang mencerminkan gaya anda dalam sistem pengendalian Windows. Bagaimana untuk menukar tetapan sempadan tetingkap? Tekan + untuk membuka apl Tetapan. WindowsSaya pergi ke Pemperibadian dan klik Tetapan Warna. Perubahan Warna Tetingkap Sempadan Tetapan Tetingkap 11" Lebar="643" Tinggi="500" > Cari pilihan Tunjukkan warna aksen pada bar tajuk dan sempadan tetingkap, dan togol suis di sebelahnya. Untuk memaparkan warna aksen pada menu Mula dan bar tugas Untuk memaparkan warna tema pada menu Mula dan bar tugas, hidupkan Tunjukkan tema pada menu Mula dan bar tugas

Bagaimana untuk menukar warna bar tajuk pada Windows 11? Bagaimana untuk menukar warna bar tajuk pada Windows 11? Sep 14, 2023 pm 03:33 PM

Secara lalai, warna bar tajuk pada Windows 11 bergantung pada tema gelap/terang yang anda pilih. Walau bagaimanapun, anda boleh menukarnya kepada mana-mana warna yang anda mahu. Dalam panduan ini, kami akan membincangkan arahan langkah demi langkah untuk tiga cara mengubahnya dan memperibadikan pengalaman desktop anda untuk menjadikannya menarik secara visual. Adakah mungkin untuk menukar warna bar tajuk tetingkap aktif dan tidak aktif? Ya, anda boleh menukar warna bar tajuk tetingkap aktif menggunakan apl Tetapan, atau anda boleh menukar warna bar tajuk tetingkap tidak aktif menggunakan Registry Editor. Untuk mempelajari langkah-langkah ini, pergi ke bahagian seterusnya. Bagaimana untuk menukar warna bar tajuk dalam Windows 11? 1. Tekan + untuk membuka tetingkap tetapan menggunakan apl Tetapan. WindowsSaya pergi ke "Peribadikan" dan kemudian

Bagaimana untuk mendayakan atau melumpuhkan pratonton lakaran kecil bar tugas pada Windows 11 Bagaimana untuk mendayakan atau melumpuhkan pratonton lakaran kecil bar tugas pada Windows 11 Sep 15, 2023 pm 03:57 PM

Lakaran kecil bar tugas boleh menjadi menyeronokkan, tetapi ia juga boleh mengganggu atau menjengkelkan. Memandangkan kekerapan anda menuding di atas kawasan ini, anda mungkin telah menutup tetingkap penting secara tidak sengaja beberapa kali. Kelemahan lain ialah ia menggunakan lebih banyak sumber sistem, jadi jika anda telah mencari cara untuk menjadi lebih cekap sumber, kami akan menunjukkan kepada anda cara untuk melumpuhkannya. Walau bagaimanapun, jika spesifikasi perkakasan anda boleh mengendalikannya dan anda menyukai pratonton, anda boleh mendayakannya. Bagaimana untuk mendayakan pratonton lakaran kecil bar tugas dalam Windows 11? 1. Menggunakan apl Tetapan ketik kekunci dan klik Tetapan. Windows klik Sistem dan pilih Perihal. Klik Tetapan sistem lanjutan. Navigasi ke tab Lanjutan dan pilih Tetapan di bawah Prestasi. Pilih "Kesan Visual"

Masalah Ralat OOBELANGUAGE dalam Pembaikan Windows 11/10 Masalah Ralat OOBELANGUAGE dalam Pembaikan Windows 11/10 Jul 16, 2023 pm 03:29 PM

Adakah anda melihat "Masalah berlaku" bersama-sama dengan pernyataan "OOBELANGUAGE" pada halaman Pemasang Windows? Pemasangan Windows kadangkala terhenti kerana ralat tersebut. OOBE bermaksud pengalaman di luar kotak. Seperti yang ditunjukkan oleh mesej ralat, ini ialah isu yang berkaitan dengan pemilihan bahasa OOBE. Tiada apa yang perlu dibimbangkan, anda boleh menyelesaikan masalah ini dengan penyuntingan pendaftaran yang bagus dari skrin OOBE itu sendiri. Pembetulan Pantas – 1. Klik butang “Cuba Semula” di bahagian bawah apl OOBE. Ini akan meneruskan proses tanpa gangguan lagi. 2. Gunakan butang kuasa untuk menutup paksa sistem. Selepas sistem dimulakan semula, OOBE harus diteruskan. 3. Putuskan sambungan sistem daripada Internet. Lengkapkan semua aspek OOBE dalam mod luar talian

10 Cara untuk Melaraskan Kecerahan pada Windows 11 10 Cara untuk Melaraskan Kecerahan pada Windows 11 Dec 18, 2023 pm 02:21 PM

Kecerahan skrin adalah bahagian penting dalam menggunakan peranti pengkomputeran moden, terutamanya apabila anda melihat skrin untuk jangka masa yang lama. Ia membantu anda mengurangkan ketegangan mata, meningkatkan kebolehbacaan dan melihat kandungan dengan mudah dan cekap. Walau bagaimanapun, bergantung pada tetapan anda, kadangkala sukar untuk mengurus kecerahan, terutamanya pada Windows 11 dengan perubahan UI baharu. Jika anda menghadapi masalah melaraskan kecerahan, berikut ialah semua cara untuk mengurus kecerahan pada Windows 11. Cara Menukar Kecerahan pada Windows 11 [10 Cara Diterangkan] Pengguna monitor tunggal boleh menggunakan kaedah berikut untuk melaraskan kecerahan pada Windows 11. Ini termasuk sistem desktop menggunakan monitor tunggal serta komputer riba. Jom mulakan. Kaedah 1: Gunakan Pusat Tindakan Pusat Tindakan boleh diakses

Paparkan panduan penskalaan pada Windows 11 Paparkan panduan penskalaan pada Windows 11 Sep 19, 2023 pm 06:45 PM

Kita semua mempunyai pilihan yang berbeza apabila ia berkaitan dengan penskalaan paparan pada Windows 11. Sesetengah orang suka ikon besar, ada yang suka ikon kecil. Walau bagaimanapun, kita semua bersetuju bahawa mempunyai penskalaan yang betul adalah penting. Penskalaan fon yang lemah atau penskalaan berlebihan imej boleh menjadi pembunuh produktiviti sebenar apabila bekerja, jadi anda perlu tahu cara menyesuaikannya untuk memanfaatkan sepenuhnya keupayaan sistem anda. Kelebihan Zum Tersuai: Ini adalah ciri yang berguna untuk orang yang mengalami kesukaran membaca teks pada skrin. Ia membantu anda melihat lebih banyak pada skrin pada satu masa. Anda boleh membuat profil sambungan tersuai yang digunakan hanya pada monitor dan aplikasi tertentu. Boleh membantu meningkatkan prestasi perkakasan kelas rendah. Ia memberi anda lebih kawalan ke atas perkara yang terdapat pada skrin anda. Cara menggunakan Windows 11

Bagaimana untuk Membetulkan Kod Ralat Pengaktifan 0xc004f069 dalam Pelayan Windows Bagaimana untuk Membetulkan Kod Ralat Pengaktifan 0xc004f069 dalam Pelayan Windows Jul 22, 2023 am 09:49 AM

Proses pengaktifan pada Windows kadangkala mengambil giliran secara tiba-tiba untuk memaparkan mesej ralat yang mengandungi kod ralat ini 0xc004f069. Walaupun proses pengaktifan adalah dalam talian, beberapa sistem lama yang menjalankan Windows Server mungkin mengalami masalah ini. Lakukan semakan awal ini dan jika ia tidak membantu anda mengaktifkan sistem anda, lompat ke penyelesaian utama untuk menyelesaikan isu tersebut. Penyelesaian – Tutup mesej ralat dan tetingkap pengaktifan. Kemudian, mulakan semula komputer anda. Cuba semula proses pengaktifan Windows dari awal lagi. Betulkan 1 – Aktifkan dari Terminal Aktifkan sistem Windows Server Edition dari terminal cmd. Peringkat – 1 Semak Versi Pelayan Windows Anda perlu menyemak jenis W yang anda gunakan

See all articles