Time of Update: 2016-07-21
一:Mcrypt簡介Mcrypt是PHP的一個擴充,完成了常用密碼編譯演算法的封裝。其實該擴充是對mcrypt標準類庫的封裝,mcrypt完成了相當多的常用密碼編譯演算法,如DES, TripleDES, Blowfish (default), 3-WAY, SAFER-SK64, SAFER-SK128, TWOFISH, TEA, RC2 和 GOST密碼編譯演算法,並且提供了CBC、OFB、CFB 和 ECB
Time of Update: 2016-07-21
廢話不多說了,上一篇有個核心概念就是 give action do something ! 這篇我就用代碼來解釋這個概念是啥意思,先看我的 post.class.php . 這個檔案是我們的資料層處理類。簡單介紹一下這個model 類,它繼承了一個資料庫基類來做crud 等常用操作, 每次初始化時就會初始化一個資料庫物件 $db. 我們就用這個對象來操作我們的資料。對於資料操作有2個重要方法 storePostFormValues( ) , storeDiaryFormValues( ),它們2
Time of Update: 2016-07-21
當時在網上找了一個CDATA的轉換器, 修改之後, 將CDATA標籤給過濾掉。如下複製代碼 代碼如下: // States: // // 'out' // ' // ' // ' // ' // ' // ' // ' // 'in' // ']' /
Time of Update: 2016-07-21
複製代碼 代碼如下:/* * php中如何防止表單的重複提交 */session_start();if (empty($_SESSION['ip'])) {//第一次寫入操作,判斷是否記錄了IP地址,以此知道是否要寫入資料庫 $_SESSION['ip'] = $_SERVER['REMOTE_ADDR']; //第一次寫入,為後面重新整理或後退的判斷做個鋪墊 //...........//寫入資料庫操作} else {//已經有第一次寫入後的操作,也就不再寫入資料庫
Time of Update: 2016-07-21
在 PHP5.0 以上版本裡,還相容了 4.0 版本的建構函式的定義規則。如果同時定義了4.0的建構函式和 __construct()函數,則__construct() 函數優先。為了使類代碼同時相容 PHP4.0 和 5.0,可以採取以下的方式:複製代碼 代碼如下:class MyClass { function __construct() { //for PHP5.0 echo 'this is class2 construct'; } // 為了使類代碼同時相容 PHP4.0 和 5.0
Time of Update: 2016-07-21
關鍵代碼:複製代碼 代碼如下: header("Content-type:application/vnd.ms-excel"); header("Conten-Disposition:filename=hp.xlsx"); ?>第一句是用來聲明檔案內容的格式;第二局是用來修改檔案名稱的。如果沒有第二個語句的話,產生的檔案將是沒有尾碼名的。實現代碼:複製代碼 代碼如下: header("Content-type:application/vnd.ms-excel"); header("Conten-
Time of Update: 2016-07-21
PHP語言: 根據中文裁減字串複製代碼 代碼如下:function cutstr($string,$length, $dot = ' ...') { if (strlen($string) return$string; } $pre = chr(1); $end = chr(1); $string = str_replace(array('&','"', ''),array($pre . '&'. $end, $pre . '"' . $end, $pre . '' . $
Time of Update: 2016-07-21
複製代碼 代碼如下: $this->loadexcel();//半酣phpexcel檔案 $_ReadExcel = new PHPExcel_Reader_Excel2007(); if(!$_ReadExcel->canRead('link.xls')){ $_ReadExcel = new PHPExcel_Reader_Excel5(); } $_phpExcel = $
Time of Update: 2016-07-21
PHP中如何將ip地址轉成十進位數呢?現在PHP中有很多時候都會用到ip地址,但是這個ip地址擷取的時候都不是10進位的。那麼PHP中如何將ip地址轉成十進位數就是我們比較頭疼的事情了,下面兩種方法是我整理處理來相對比較簡單的IP地址轉成十進位數的方法。希望能對大家有所協助。 方法一: 複製代碼 代碼如下: public function ipToLong(){ $ip = $_SERVER['REMOTE_ADDR']; $ip = explode('.', $ip); $ip =
Time of Update: 2016-07-21
首先, 關閉PHP設定檔php.ini中的default_charset:1. 頁面沒有指定charset , Apache配置defaultcharst gbk , 分頁檔編碼是utf-8結果: 亂碼,使用wireshark抓包,探索服務器返回的header中指明了:複製代碼 代碼如下:Content-Type:text/html;charset=GB結論:當頁面沒有指明charset的時候,Apache的defaultcharset起作用2. 頁面指定charset為utf-8,
Time of Update: 2016-07-21
我們需要在url中傳遞中文字元或是其它的html等特殊字元,似乎總會有各種亂,不同的瀏覽器對他們的編碼又不一樣,對於中文,一般的做法是:把這些文本字串傳給url之前,先進行urlencode($text)一下;但是對於一些很“危險”的字元,比如說html字元,甚至是SQL注入相關的字元,如果很明顯的傳給系統,出於安全考慮,系統一般都會把它們過濾掉的。現在,我們需要這些危險字元,該這麼辦?我想到的辦法是 先給它們 base64_encode($text) 編碼,到服務端時,又給它們 base64_
Time of Update: 2016-07-21
廢話不多說,直接上代碼吧複製代碼 代碼如下:error_reporting(E_ALL); //開啟錯誤 set_time_limit(0); //指令碼不逾時 date_default_timezone_set('Europe/London'); //設定時間 /** Include path **/set_include_path(get_include_path() . PATH_SEPARATOR .
Time of Update: 2016-07-21
方法很簡單: 將下面的代碼儲存為test.php,放到web目錄裡面執行即可。 複製代碼 代碼如下: $link=mysql_connect("localhost","root","123"); if(!$link) echo "FAILD!串連錯誤,使用者名稱密碼不對"; else echo "OK!可以串連"; ?> 其中mysql_connect(
Time of Update: 2016-07-21
首先我們回顧一下zval的結構:複製代碼 代碼如下:struct _zval_struct { /* Variable information */ zvalue_value value; /* value */ zend_uint refcount; zend_uchar type; /* active type */ zend_uchar
Time of Update: 2016-07-21
奉獻出一個封裝的curl函數,便於調用 複製代碼 代碼如下: function curl($url, $ifpost = 0, $datafields = '', $cookiefile = '', $v = false) { $header = array("Connection: Keep-Alive","Accept: text/html, application/xhtml+xml, */*", "Pragma: no-cache", "Accept-Language: zh-Hans-
Time of Update: 2016-07-21
APC簡介APC(Alternative PHP Cache)是一個PHP緩衝。它在記憶體中儲存PHP頁面並且減少了硬碟的I/O。這對於效能的提升十分明顯。你甚至可以在CPU使用率下降50%的情況下提升系統50%的效能。windows下安裝PHP的APC拓展注意:你不能在一天伺服器上同時安裝APC和Zend
Time of Update: 2016-07-21
複製代碼 代碼如下:function getDistanceBetweenPointsNew($latitude1, $longitude1, $latitude2, $longitude2) { $theta = $longitude1 - $longitude2; $miles = (sin(deg2rad($latitude1)) * sin(deg2rad($latitude2))) + (cos(deg2rad($latitude1)) *
Time of Update: 2016-07-21
先放上來別人的例子吧:call_user_func函數類似於一種特別的調用函數的方法,使用方法如下: 複製代碼 代碼如下:function a($b,$c) { echo $b; echo $c; } call_user_func('a', "111","222"); call_user_func('a', "333","444"); //顯示 111 222 333 444 ?> 調用類內部的方法比較奇怪,居然用的是array,
Time of Update: 2016-07-21
之前寫過一個加解密的文章,也能湊合著使用, 現在為了安全, 用php寫了一個triple des(3DES)的正反加解密函數. 3DES是公認的最安全的加密解密函數了,只是可惜的是php沒有提供這樣現成的函數,於是乎自己寫了一個3DES版本的方法,3DES有很多版本,該版本採用的是ECB模式,用PKCS7補碼,base64做密文,安全等級高,一般使用該函數只要修改其中的key即可.測試:echo (des3crypt(
Time of Update: 2016-07-21
今天在芒果小站看到一段代碼,感覺挺不錯的,於是轉載過來。以下是原文。將字串形式的 JSON 資料格式化為縮排形式。通常使用 json_encode 轉換出來的 JSON 串沒有縮排,有這個方法就爽多了。 這裡我預設使用了 tab 縮排,如果要改成空格,替換變數 $indentStr 即可。 /** * Indents a flat JSON string to make it more human-readable. * @param string $json The original