Time of Update: 2016-07-29
複製代碼 代碼如下://date:2011-08-05 class RunTime//頁面執行時間類 { private $starttime;//頁面開始執行時間 private $stoptime;//頁面結束執行時間 private $spendtime;//頁面執行花費時間 function getmicrotime()//擷取返回當前微秒數的浮點數 { list($usec,$sec)=explode(" ",microtime()); return ((float)$usec + (
Time of Update: 2016-07-29
原理如下,假如: 加密 明文:1010 1001 密匙:1110 0011 密文:0100 1010 得出密文0100 1010,解密之需和密匙異或下就可以了 解密 密文:0100 1010 密匙:1110 0011 明文:1010 1001 並沒有什麼高深的演算法,密匙重要性很高,所以,關鍵在於怎麼產生密匙。 那我們一起看下康盛的authcode怎麼做的吧 複製代碼 代碼如下:// 參數解釋 // $string: 明文 或 密文 //
Time of Update: 2016-07-29
ShopCar.php 複製代碼 代碼如下:class Shopcar { //商品列表 public $productList=array(); /** * * @param unknown_type $product 傳進來的商品 * @return true 購物車裡面沒有該商品 */ public function checkProduct($product) { for($i=0;$iproductList);$i++ ) {
Time of Update: 2016-07-29
弄了一下午,偶然想起linux是識別檔案大小寫的,查看了一下代碼,發現執行個體化類的時候並沒有注意檔案大小寫。如 $dao = D("inventoryview") 對應的視圖檔案是InventoryViewModel.class.php。這樣在windows下跑是沒問題的,但是在linux下,需要寫成$dao = D("InventoryView")。 哎,小細節容易導致大問題啊。還好解決了~~嘿嘿
Time of Update: 2016-07-29
複製代碼 代碼如下://a $arr=array('a'=>'abc','b'=>123,'c'=>true); //b //$arr=range('a','d'); //1 for($i=0;$iecho $arr[$i].', '; echo ''; //2 foreach($arr as $key) echo "$key, "; echo ''; //3 foreach($arr as $key=>$val) echo "$key-$val, "; echo ''; //4 reset($
Time of Update: 2016-07-29
之前寫了一篇關於數組去重的文章,但是僅限於一維數組。下面的函數可以用於二維數組: 複製代碼 代碼如下://二維數組去掉重複值 function array_unique_fb($array2D) { foreach ($array2D as $v) { $v = join(",",$v); //降維,也可以用implode,將一維數群組轉換為用逗號串連的字串 $temp[] = $v; } $temp = array_unique($temp); //去掉重複的字串,也就是重複的一維數組
Time of Update: 2016-07-29
先上原始碼,你可以copy到自己的電腦上去運行~ 複製代碼 代碼如下: //上傳檔案資訊 $img = $_FILES['img']; if ($img) { //檔案存放目錄,和本php檔案同級 $dir = dirname(__file__); $i = 0; foreach ($img['tmp_name'] as $value) { $filename = $img['name'][$i]; if ($value) {
Time of Update: 2016-07-29
一、 基礎知識 本章簡要介紹一些Zend引擎的內部機制,這些知識和Extensions密切相關,同時也可以協助我們寫出更加高效的PHP代碼。 1.1 PHP變數的儲存 1.1.1 zval結構 Zend使用zval結構來儲存PHP變數的值,該結構如下所示: 複製代碼 代碼如下:typedef union _zvalue_value { long lval; /* long value */ double dval; /* double value */ struct {
Time of Update: 2016-07-29
看PHP手冊的時候發現了下面這樣一段代碼: 複製代碼 代碼如下:function Test() { static $count = 0; $count++; echo $count; if ($count Test(); } $count--; } ?> 執行結果如下: 這是一個遞迴的函數,聲明的靜態變數count記錄次數,輸出1~10。 我在看的時候有個疑惑,遞迴調用的時候 static $count = 0;
Time of Update: 2016-07-29
複製代碼 代碼如下:session_start(); Header("Content-type: image/gif"); class SecurityCode { private $codes = ''; function __construct() { $code = '0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z'; $codeArray = explode('-',$code);
Time of Update: 2016-07-29
方法 bindParam() 和 bindValue() 非常相似。 唯一的區別就是前者使用一個PHP變數綁定參數,而後者使用一個值。 所以使用bindParam是第二個參數只能用變數名,而不能用變數值,而bindValue至可以使用具體值。 複製代碼 代碼如下:$stm = $pdo->prepare("select * from users where user = :user"); $user = "jack"; //正確 $stm->bindParam(":user",$user); /
Time of Update: 2016-07-29
複製代碼 代碼如下:/*函數array_pop():將數組最後一個單元彈出(出棧) * 1、文法:mixed array_pop ( array &array ) * 2、描述: 彈出並返回 array 數組的最後一個單元,並將數組 array 的長度減一。如果 array 為空白(或者不是數組)將返回 NULL。 * 3、注意事項: * 3.1、 */ echo "*****************************************************************
Time of Update: 2016-07-29
require '../inc/conn.php'; ?> //初始參數設定 $pagesize=5 ; //分頁大小 $pagenum=1 ; //預設為第一頁 //第一步:擷取當前是第幾頁 if($_GET){ if($_GET['pagenum']){ $pagenum=$_GET['pagenum']; } } //第二步:擷取當前分頁的內容列表 $sql="Select * From message limit ".($pagenum-1)*$pagesize.",$pagesize
Time of Update: 2016-07-29
複製代碼 代碼如下:/** * 冒泡排序 bubble sort * * 原理:多次迴圈進行比較,每次比較時將最大數移動到最上面。每次迴圈時,找出剩餘變數裡的最大值,然後減小查詢範圍。這樣經過多次迴圈以後,就完成了對這個數組的排序 */ function sort_bubble($list) { $len = count($list); if(empty($len)) return $list; for($i = 0;$i { for($j = $i + 1; $j { $flag = '';
Time of Update: 2016-07-29
複製代碼 代碼如下:function list_tables($database) { $rs = mysql_list_tables($database); $tables = array(); while ($row = mysql_fetch_row($rs)) { $tables[] = $row[0]; } mysql_free_result($rs); return $tables; }
Time of Update: 2016-07-29
1.1 第一個php 複製代碼 代碼如下: My First PHP Program echo "Hello Everybody!"; ?> 附加:phpinfo()函數的用法 1.2 輸入php指令碼 1.2.1 標示php程式碼片段落 1.2.2語句和注釋 /* */ // # # 1.2.3 php和html混合 1.3如何儲存資料 1.4 輸入php的基礎資料型別 (Elementary Data Type) 1.4.1
Time of Update: 2016-07-29
今天看到幾個有關PHP的符號。一個是@,這個加在一個變數的前面,是為了抑制PHP解譯器報錯,也就是說即使出了錯也不會顯示出來。 還有一個更重要的符號PHP的範圍解析操作符(::) 在沒有聲明任何執行個體的情況下訪問類中的函數或者基類中的函數和變數很有用處。而 :: 運算子即用於此情況。 複製代碼 代碼如下:class A { function example() { echo "I am the original function A::example().\n"; } } class B
Time of Update: 2016-07-29
複製代碼 代碼如下:/** * 三元組 Triplet * */ class Triplet { private $_data = null; // 初始化三元組 public function init($val1,$val2,$val3) { $this->_data[0] = $val1; $this->_data[1] = $val2; $this->_data[2] = $val3; return true; } // 銷毀三元組 public function destroy() {
Time of Update: 2016-07-29
錯誤提示:Error: Can't create/write to file 'C:\WINDOWS\TEMP\#sql_738_0.MYD' (Errcode: 17)Errno.: 1 問題分析:1、C:\Windows\TEMP 檔案夾許可權不夠,至少也要給出 USERS 組的可讀可寫入權限;2、C:\Windows\TEMP 檔案夾的磁碟滿了,檔案寫不進去了,清空 TEMP 檔案夾;3、第三方限制(如殺毒軟體的限制)1)你的伺服器裝了 MCAFEE 殺毒軟體,它的訪問保護禁止了
Time of Update: 2016-07-29
/path/to/pkphp.com/script.php?ajax 在php指令碼中使用如下方法判斷: 複製代碼 代碼如下:if(isset($_GET['ajax'])) { ...這是一個ajax請求,然後... } else { ...這不是一個ajax請求,然後... } 通過傳遞_GET參數的方法簡單實現了網頁請求的判斷。但是如果需要這樣的功能,這個方法可能就有弊端,功能需求如下: 1.通過ajax請求的網頁與普通請求的網頁內容是不相同的