Thinkphp資料分頁,檔案上傳,驗證碼。

2021-08-17 14:06:46 字數 3584 閱讀 8534

thinkphp資料分頁,檔案上傳,驗證碼

這篇文章主要介紹一下thinkphp中的資料分頁,檔案上傳以及驗證碼。

資料分頁:①分頁類和page方法的實現分頁

$page=new \think\page($count,$pagesize);
page()中傳入總記錄數和每頁顯示的記錄數。

一定要例項化分頁類

利用show生成分頁鏈結,分頁顯示輸出

$show=$page->show();
資料分頁:②利用page類和limit方法分頁

$page = new \think\page($count,25);// 例項化分頁類 傳入總記錄數和每頁顯示的記錄數(25)

$show = $page->show();// 分頁顯示輸出

// 進行分頁資料查詢 注意limit方法的引數要使用page類的屬性

$list = $user->where('status=1')->order('create_time')->limit($page->firstrow.','.$page->listrows)->

select();

分頁樣式定製:

分頁類page提供了乙個setconfig方法來修改預設的一些設定

$page->setconfig('header','');

$page->setconfig('first','首頁');

$page->setconfig('last','末頁');

$page->setconfig('theme','%first% %up_page% %link_page% %down_page% %end% %header%');

另外setconfig方法支援的屬性包括:

這樣我們可以對輸出的分頁樣式進行定製。顯示位置的對應的關係為:

檔案上傳:

在檔案上傳時,表單中首先要新增乙個屬性

使用 think\upload 類來上傳檔案,呼叫upload函式

$upload = new \think\upload();// 例項化上傳類

// 上傳檔案

$info = $upload->upload();//呼叫upload函式

在上傳操作之前,我們可以對上傳的屬性進行一些設定,upload類支援的屬性設定包括:

上傳引數有兩種方式一種的動態賦值

$upload = new \think\upload();// 例項化上傳類

//設定上傳的各種引數

$upload->maxsize = 0 ;// 設定附件上傳大小

$upload->exts = array('csv');// 設定附件上傳型別

$upload->rootpath = './public/uploads/'; // 設定附件上傳目錄

// 上傳檔案

$info = $upload->upload();//呼叫upload函式

另一種是例項化傳入

$config = array(

'maxsize'=>0,//將maxsize設定為0時,是不限制上傳檔案大小

'rootpath' => './public/uploads/',

);$upload = new \think\upload($config);// 例項化上傳類

之後呼叫upload來上傳,失敗返回false。

我們設定的允許檔案上傳的拓展名為csv。下邊來簡單說一下csv和excel的區別:

csv是以逗號間隔的文字檔案,xls是電子**,包含文字、數值、公式和格式。當不需要公式和格式**可用csv格式儲存,當需要時則請儲存為xls格式。

另外excel表匯入資料庫中需要轉換為csv格式,要不然會產生亂碼。

單檔案上傳

upload方法支援多檔案上傳,有時候,我們只需要上傳乙個檔案,就可以使用upload類提供的 uploadone方法上傳單個檔案:

$upload = new \think\upload();// 例項化上傳類

$upload->maxsize = 0 ;// 設定附件上傳大小

$upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 設定附件上傳型別

$upload->rootpath = './public/uploads/'; // 設定附件上傳根目錄

// 上傳單個檔案

$info = $upload->uploadone($_files['photo1']);

驗證碼

think\verify類可以支援驗證碼的生成和驗證功能。

生成驗證碼:

public function yzm()
生成的驗證碼資訊會儲存到session中,包含的資料有:①當前驗證碼的值②生成驗證碼的時間戳。

如果你需要在乙個頁面中生成多個驗證碼的話,entry方法需要傳入可標識的資訊。

$verify = new \think\verify($config);//例項化驗證碼類

$verify->entry(1);

$verify = new \think\verify($config);//例項化驗證碼類

$verify->entry(2);

驗證碼引數

我們也可以對生成的驗證碼進行引數設定:

上傳驗證碼的引數與上傳檔案的方式一樣也有兩種方式。可以參照上傳檔案的引數來上傳驗證碼引數。

驗證碼也支援支援驗證碼背景功能和使用中文驗證碼,只要將useimgbg,usezh設定為true就可以了。

$verify->useimgbg = true;

$verify->usezh = true;

$verify->entry();

驗證碼檢測

check 方法檢測驗證碼的輸入是否正確

if (!$verify->check($yzm))
上邊這段**是來檢測如果驗證碼輸入的不正確,則用ajax的方式返回驗證碼輸入不正確。

Thinkphp 專題 資料分頁

通常在資料查詢後都會對資料集進行分頁操作,thinkphp也提供了分頁類來對資料分頁提供支援。下面是資料分頁的兩種示例。user m user 例項化user物件 count user where status 1 count 查詢滿足要求的總記錄數 page new think page coun...

thinkphp 簡單分頁

1 首先,我們得建立乙個用於分頁測試的資料庫 test。sql 如下。php create table test id int 10 unsigned not null auto increment,name char 100 not null,content varchar 300 not nul...

ThinkPHP分頁例項

控制器中的 db m cost where 查詢條件 count db where where count pagecount 20 page new think page count pagecount page parameter row 此處的row是陣列,為了傳遞查詢條件 page setc...