比如說PECL裡有兩個Memcached的模組,Memcache和Memcached,目前大部分PHP環境裡使用的是名字裡不帶d的Memcache版本,這個版本釋出的比較早,是一個原生版本,與之對應的帶d的Memcached版本則是建立在libmemcached的基礎上,所以說Memcached版本的功能更全一些。安裝Memcached版本的PHP模組wget http://download.tangent.org/libmemcached-0.35.tar.gztar zxf
函數嵌套,這個名字有點糾結,也許不太好理解。一個比較常見的函數嵌套特例:遞迴函式,即函數自己嵌套自己。 一直以為在PHP中不能有太多的函數嵌套,這是因為在以前某些時候不小心用到了遞迴,在遞迴的深度達到100時, 即函數嵌套的層數達到100時,程式會報一個 Fatal error。如下樣本: 複製代碼 代碼如下:function rt() { static $i; echo $i++, ''; rt(); } rt(); die(); 在我的win7 + php5.3的環境下報錯如下:
複製代碼 代碼如下:define('CACHE_ROOT', dirname(__FILE__).'/cache'); //緩衝存放目錄 define('CACHE_TIME', 1800);//緩衝時間 單位秒 define('CACHE_FIX','.html'); $CacheName=md5($_SERVER['REQUEST_URI']).CACHE_FIX; //快取檔案名
複製代碼 代碼如下:/*運算子號(PHP)操作符號 * * 按運算子號功能分為: * 一、算術運算子 + - * / % ++ -- * 二、字串運算子 . 串連運算子 * 三、賦值運算子 = += -= *= /= %= .= * 四、比較子 > = !== * 比較子---條件運算子---關係運算子 * 比較後的結果只有一種:boolean true false * === 比較時不僅要求內容相同,也要求類型相同 * !== 比較時內容不相同,也要求類型不相同 * 五、邏輯運算子
複製代碼 代碼如下:function get_ip_place() { $ip=file_get_contents("http://fw.qq.com/ipaddress"); $ip=str_replace('"',' ',$ip); $ip2=explode("(",$ip); $a=substr($ip2[1],0,-2); $b=explode(",",$a); return $b; } 上面來自開源中國寫的真XXX,新聞我都不好意思發了,我們用Regex寫更簡單 來看看 複製代碼
複製代碼 代碼如下:/* * 流程式控制制 * * 一、順序結構 * 二、分支結構--條件結構--選擇結構 * 1.單路分支 * //條件bool,true或false,> * if(條件) * 執行下面一條語句 * if(條件) * { * 程式碼片段; * 程式碼片段; * } * * 2.雙路分支 * 使用else從句 * * if(條件) * 執行一條語句 * else * 執行一條語句 * if(條件){ * 一條或多條代碼 * }else{ * 一條或多條代碼 * } * *
代碼最佳化 複製代碼 代碼如下:for($i=0;$iarray_push($week,$arr); } 複製代碼 代碼如下:for($i=0;$i$week[]=$arr[$i]; } //這樣就沒有了調用函數的額外負擔 建立索引的好處和壞處好處:查詢時就會先去索引列表中一次定位到特定值的行數,大大減少遍曆匹配的行數 壞處:無論如何都要查詢此表,欄位大量重複值,增加索引也沒有什麼意義 記錄比較少的,增加索引不會帶來速度的最佳化反而浪費了儲存空間,因為索引是需要存
複製代碼 代碼如下:/* 迴圈結構 * 一、while迴圈 * while(運算式) * { * 迴圈體;//反覆執行,直到運算式為假 * } * 二、do-while迴圈 * 三、for迴圈 * * 根據迴圈條件不同,有兩種類型的迴圈 * * 一種:計數迴圈 (一般使用for) * 另一種:條件型迴圈 (一般使用 while do-while) * * * */ //while的使用 /*$num=0; while($num{ echo "輸出結果{$num}"; $num++; }*/ //
複製代碼 代碼如下:/* * 1.內建函式:PHP可以在函數內部再聲明函數 * 目的就是在函數內部調用 * 用來協助外部函數完成一些子功能 * * 2.遞迴函式:在自己內部調用自己的函數名 * * 3.重用函數 * * require:用於靜態包含 * include:用於動態包含 * require_once:用於靜態包含,只包含一次 * include_once:用於動態包含,只包含一次 * * 4.一些系統函數的使用 * 資源=opendir("目錄名") * readdir(資源) *
突然想到了以前接觸過flash將圖片二進位流傳給php,靈機一動用$GLOBALS['HTTP_RAW_POST_DATA']擷取到了。於是就深入的查了一下,原來PHP預設只識別application/x-www.form-urlencoded標準的資料類型,因此,對型如text/xml 或者 soap 或者 application/octet-stream 之類的內容無法解析,如果用$_POST數組來接收就會失敗!故保留原型,交給$GLOBALS['HTTP_RAW_POST_DATA']
複製代碼 代碼如下:/* 函數定義: * 1.函數是一個被命名的 * 2.獨立的程式碼片段 * 3.函數執行特定任務 * 4.並可以給調用它的程式返回一個值 * * 函數的優點: * 1.提高程式的重用性 * 2.提高程式的可維護性 * 3.可以提高開發效率 * 4.提高軟體的可靠性 * 5.控製程序的複雜性 * * 函數的聲明 * function 函數名(){ * * } * * function 函數名(參數1,參數2,參數...) * { * 函數體 * } * * function
複製代碼 代碼如下:/* * 一、數組的概述 * 1.數組的本質:管理和操作一組變數,成批處理 * 2.數組時複合類型(可以儲存多個) * 3.數組中可以儲存任意長度的資料,也可以儲存任意類型的資料 * 4.數組可以完成其他語言資料結構的功能(鏈表,隊列,棧,集合類) * * * * 二、數組的分類 * 數組中有多個單元,(單元稱為元素) * 每個元素(下標[鍵]和值) * 單訪問元素的時候,都是通過下標(鍵)來訪問元素 * 1.一維數組,二維數組,三維數組。。。多維陣列 *
複製代碼 代碼如下:/* 數組的遍曆 * * 1.使用for語句迴圈遍曆數組 * 1.其他語言(只有這一種方式) * 2.PHP中這種方式不是首選的方式 * 3.數組必須是索引數組,而且下標必須是連續的。 * (索引數組下標可以不連續,數組還有關聯陣列,這兩種不能遍曆) * * 2.使用foreach語句迴圈遍曆數組 * foreacho(陣列變數 as 變數值){ * //迴圈體 * } * 1.迴圈次數由數組的元素個數決定 * 2.每一次迴圈都會將數組中的元素分別賦值給後面變數 * *
複製代碼 代碼如下:/* 預定義數組: * 自動全域變數---超全域數組 * * 1.包含了來自WEB伺服器,用戶端,運行環境和使用者輸入的資料 * 2.這些數組比較特別 * 3.全域範圍內自動生效,都可以直接使用這些數組 * 4.使用者不能自訂這些數組,但這些數組的操作方式和自己定義的數組操作的方式一樣 * 5.在函數中直接可以使用這些數組 * * $_GET //經由URL請求提交至指令碼的變數 * $_POST //經由HTTP POST 方法提交到指令碼的變數 * $_REQUEST /
google或者baidu一下,好多這樣的問題,解決的方法都是修改php.ini,把allow_url_fopen給啟用,改成 allow_url_fopen = On 這樣做可以解決某些人的問題,有人說在php.ini中,有這樣兩個選項:allow_url_fopen =on(表示可以通過url開啟遠程檔案),user_agent="PHP"(表示通過哪種指令碼訪問網路,預設前面有個 " ; " 去掉即可。)重啟伺服器。
1、fopen的使用 複製代碼 代碼如下:$handle = fopen ("http://s.jb51.net/", "rb"); $contents = ""; while (!feof($handle)) { $contents .= fread($handle, 8192); } fclose($handle); echo $contents; //輸出擷取到得內容。 ?> 複製代碼 代碼如下:// 對 PHP 5 及更高版本可以使用下面的代碼 $handle =
修改時間格式: date("Y-m-d",strtotime($list['pubdate'])); 學習解釋:將時間放入strtotime為時間戳記後用date()轉化格式.下面寫了兩個函數的 PHP strtotime() 函數 strtotime() 函數將任何英文文本的日期時間描述解析為 Unix 時間戳記。 文法 strtotime(time,now)參數 描述 time 規定要解析的時間字串。 now 用來計算傳回值的時間戳記。如果省略該參數,則使用目前時間。 PHP Date()
四種標量類型:boolean (布爾型)integer (整型)float (浮點型, 也稱作 double)string (字串)兩種複合類型:array (數組)object (對象)最後是兩種特殊類型:resource (資源)NULL (NULL)為了確保代碼的易讀性,本手冊還介紹了一些偽類型:mixednumbercallback以及偽變數 $....可能還會讀到一些關於“雙精確度(double)”類型的參考。實際上 double 和 float
配置環境 系統:win7 PHP版本:5.3.x MYSQL 版本:5.0.27 Apache:2.2.4 (Win32) 設定方法: 開啟D:\wamp\bin\apache\Apache2.2.17\conf\httpd.conf 在最後添加 NameVirtualHost *:80 DocumentRoot "D:\wamp\www\bbs" ServerName www.a.com 配置中應該注意: ServerName *:80 這裡的*可以改為本機ip比如192.168.1.11
index.php 複製代碼 代碼如下: 線上聊天 _a.php 複製代碼 代碼如下: 聊天室 $person = @$_POST[person]; $msg = @$_POST[message]; if ($person!="" && $msg!=""){ $handle = fopen("msg.txt","r"); $tot = 0; $oldmsg = array(); while ($content = fgets($handle)){ $oldmsg[] =