Time of Update: 2016-07-13
以往在ThinkPHP3.1版本之前,如果需要設定自動驗證或者自動完成,一般來說必須定義在模型中,或者通過setProperty方法動態設定屬性來完成,這樣做的缺點是不太方便動態改變和調整。ThinkPHP3.1版本在模型類中增加auto和validate兩個連貫操作,用於動態設定自動完成和自動驗證規則,現在可以在Action中使用:$validate = array( array('verify','require','驗證碼必須!'),
Time of Update: 2016-07-13
在當今眾多的MVC架構中,ThinkPHP是一個快速、簡單的基於MVC和物件導向的輕量級PHP開發架構,其遵循Apache2開源協議發布,自從誕生以來一直秉承簡潔實用的設計原則,在保持出色的效能和至簡的代碼的同時,尤其注重開發體驗及易用性,並且擁有眾多的原創功能和特性,為WEB應用開發提供了強有力的支援。是眾多PHP開發人員的首選。本文就ThinkPHP3.1基礎知識做一簡述。1.目錄結構ThinkPHP最新版本可以在官方網站(http://thinkphp.cn/down/framework.
Time of Update: 2016-07-13
很多程式員在CI中使用session的時候,開啟自動載入session之後網站就報錯了,具體錯誤資訊如下:In order to use the Session class you are required to set an encryption key 下面一起來看問題解決辦法。提示資訊說明:如果想用session類的話就必須要設定一個加密的密鑰!那就給設定一個吧,畢竟也是出於安全考慮。開啟application/config/config.php找到Encryption Key複製代碼
Time of Update: 2016-07-13
代碼執行個體: weblogUpdates.extendedPing 愚人渡 http://www.jb51.net http://www.jb51.net/read.php?tid-96.html http://www.jb51.net ";$res = postUrl('http://ping.baidu.com/ping/RPC2', $baiduXML);if ( strpos($res, "0") ){ echo "PING成功";}else{
Time of Update: 2016-07-13
如果直接使用base64_encode和base64_decode方法的話,產生的字串可能不適用URL地址。下面的方法可以解決該問題:URL安全的字串編碼:複製代碼 代碼如下:function urlsafe_b64encode($string) { $data = base64_encode($string); $data = str_replace(array('+','/','='),array('-','_',''),$data); return $data;
Time of Update: 2016-07-13
Snoopy是一個php類,用來類比瀏覽器的功能,可以擷取網頁內容,發送表單,可以用來開發一些採集程式和小偷程式,本文章詳細介紹snoopy的使用教程。Snoopy的一些特點:抓取網頁的內容 fetch抓取網頁的常值內容 (去除HTML標籤) fetchtext抓取網頁的連結,表單 fetchlinks fetchform支援代理主機支援基本的使用者名稱/密碼驗證支援設定 user_agent, referer(來路), cookies 和 header
Time of Update: 2016-07-13
PHP和JavaScript都是初學。最近有這麼個需求:比方說有一個PHP的多行字串:$a = 傳遞給JavaScript後要等價於: var c='thy38\n\ csdn\n\ blog';因為對這兩門語言的理解低到不知如何Google,只好自己摸索出方法兩則:1. 將PHP先轉義,然後分割,然後轉JSON,然後JavaScript parse,最後用\n拼接。var b=JSON.parse().join('\n'); alert(b==c); 2.
Time of Update: 2016-07-13
用了兩天php的Snoopy這個類,發現很好用。擷取請求網頁裡面的所有連結,直接使用fetchlinks就可以,擷取所有文本資訊使用fetchtext(其內部還是使用Regex在進行處理),還有其它較多的功能,如類比提交表單等。使用方法:先下載Snoopy類,下載地址:http://sourceforge.net/projects/snoopy/先執行個體化一個對象,然後調用相應的方法即可擷取抓取的網頁資訊複製代碼 代碼如下:include 'snoopy/Snoopy.class.php';
Time of Update: 2016-07-13
一般而言,網頁傳統方式的匯入外部JS和CSS等資源檔的方法是直接在模板檔案使用:2.load標籤第二個是load標籤,通過URL方式匯入當前項目的公用JS或者CSS,例如:在href屬性中可以使用特殊模板標籤替換,例如:Load標籤無需指定type屬性,系統會自動根據尾碼自動判斷。當然,load標籤也支援條件判斷調用:系統還提供了兩個標籤別名js和css 用法和load一致,例如:load標籤也支援同時匯入多個資源檔,甚至是不同類型的資源檔:http://www.bkjia.com/PHPjc/
Time of Update: 2016-07-13
還是老規矩,直接上代碼resize("tu.jpg","tu_lit.jpg",1000,1000);echo $newimage->GetLastError();class ImageResize{ private $localimage;//原圖路徑 private $remoteimage;//縮圖儲存路徑 private $localinfo;//原圖屬性 private $error; function resize($localimg, $remoteimg,
Time of Update: 2016-07-13
每個網址用6個字元代替,(6^32) 最多可以擁有1,073,741,824個短網址。當然,你還可以記錄更詳細的資訊,如訪問記錄,建立時間等。如果真不夠用了,還可以刪掉很久不用的。複製代碼 代碼如下:function shorturl($input) { $base32 = array ( 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's',
Time of Update: 2016-07-13
使用mkdir建立檔案夾時,發現這個函數有兩個參數,第二個參數是為新建立的檔案夾指定許可權。但是如果直接用mkdir('檔案地址', 0777);時 發現新檔案夾的許可權並不是777,一般情況下會是022。因為mkdir在給檔案夾制定許可權時,會跟當前登入作業系統使用者的umask(使用者預設許可權屬 性)值進行位“與”,得到的值才是最終許可權值。umask
Time of Update: 2016-07-13
D方法應該是用的比較多的方法了,用於執行個體化自訂模型類,是ThinkPHP架構對Model類執行個體化的一種封裝,並實現了單例模式,支援跨項目和分組調用,調用格式如下:D('[項目://][分組/]模型','模型層名稱')方法的傳回值是執行個體化的模型對象。D方法可以自動檢測模型類,如果存在自訂的模型類,則執行個體化自訂模型類,如果不存在,則會執行個體化Model基類,同時對於已執行個體化過的模型,不會重複去執行個體化。D方法最常用的用法就是執行個體化當前項目的某個自訂模型,例如://
Time of Update: 2016-07-13
由於需要判斷上傳的檔案是否被修改過,需要記錄上傳檔案的md5值,這裡記錄一下擷取檔案md5值的方法。複製代碼 代碼如下:if(isset($_FILES['multimedia']) && $_FILES['multimedia']['error']==0){ $file_name = $_FILES['multimedia']['name']; $size = getimagesize($_FILES['multimedia']['tmp_name']); $type =
Time of Update: 2016-07-13
今天寫了一個php的AES加密類。適用於Yii的擴充。如果不用在Yii架構中,把代碼中Yii::app()->params['encryptKey'] 換成你對應的預設key就可以了。類代碼:params['encryptKey'] : $key, 0, mcrypt_enc_get_key_size($module));/* Create the IV and determine the keysize length, use MCRYPT_RAND * on Windows instead
Time of Update: 2016-07-13
在php中常見的計算字串長度的函數有:strlen和mb_strlen.當字元全是英文字元的時候,兩者是一樣。這裡主要比較一下,中英文混排的時候,兩個計算結果。先來看一個例子:複製代碼 代碼如下://測試時檔案的編碼方式要是UTF8 $str='中文a字1符'; echo strlen($str).'';//14 echo mb_strlen($str,'utf8').'';//6 echo mb_strlen($str,'gbk').'';//8 echo
Time of Update: 2016-07-13
本文介紹PHP提交表單失敗後如何保留填寫的資訊一些方法總結,其中最常用的就是使用緩衝方式了,這種方法如果網速慢是可能出問題的,最好的辦法就是使用ajax了。1.使用header頭設定緩衝控制頭Cache-control。PHP代碼如下:header('Cache-control: private, must-revalidate'); //支援頁面回跳 2.使用session_cache_limiter方法。PHP代碼如下:session_cache_limiter('private,
Time of Update: 2016-07-13
這個方法的作用是:php截取含有html標籤的字串,如果標籤未閉合就閉合標籤,防止未閉合的標籤破壞原網頁布局。截取完之後將多餘的內容替換為...或者其他任一字元,支援錨點指定替換到指定位置。/** ============================== 截取含有 html標籤的字串 =========================* @param (string) $str 待截取字串* @param (int) $lenth 截取長度* @param (string)
Time of Update: 2016-07-13
最近在進行一次對酷狗音樂歌詞採集時發現酷狗音樂的歌詞直接瀏覽都是“亂碼”,自己平時所見的歌詞都是lrc格式的文本,這種酷狗專用的krc格式的顯然是經過特別處理過的,平時用酷狗聽音樂也沒仔細看他的歌詞有什麼不同,只是與天天靜聽等不同的是可以逐字高亮顯示歌詞。對酷狗的flash播放器進行反編譯,發現這段krc解密的ActionScript代碼:public function loaderCompleteHandler(param1:ByteArray) : void{
Time of Update: 2016-07-13
我們知道資料庫處理sql是一條條處理的,假設購買商品的流程是這樣的:sql1:查詢商品庫存if(庫存數量 > 0){ //產生訂單...