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...