Time of Update: 2016-07-29
ob_flush/flush在手冊中的描述, 都是重新整理輸出緩衝區, 並且還需要配套使用, 所以會導致很多人迷惑… 其實, 他們倆的操作對象不同, 有些情況下, flush根本不做什麼事情.. ob_*系列函數, 是操作PHP本身的輸出緩衝區. 所以, ob_flush是重新整理PHP自身的緩衝區. 而flush, 嚴格來講, 這個只有在PHP做為apache的Module(handler或者filter)安裝的時候, 才有實際作用. 它是重新整理WebServer(可以認為特指apache)
Time of Update: 2016-07-29
複製代碼 代碼如下:echo 'begin time:'.$begin=microtime(false).'';//begin to count time $array=array(); for ($i=1;$i$array[$i]=$i; } /* $arr=$array;//拷貝 拷貝並列印總時間0.02 foreach ($arr as $ar) { echo $ar.''; } */ /* $newarr=&$array;//地址引用 時間總是控制在0.01之內
Time of Update: 2016-07-29
PHP 注釋標記@access 使用範圍:class,function,var,define,module 該標記用於指明關鍵字的存取許可權:private、public或proteced @author 指明作者 @copyright 使用範圍:class,function,var,define,module,use 指明著作權資訊 @deprecated 使用範圍:class,function,var,define,module,constent,global,include
Time of Update: 2016-07-29
清除空格的方法是不安全的,部分原因是因為字元中的空格非常多,例如 "addslashes的問題在 於駭客 可以用0xbf27來代替單引號,而addslashes只是將0xbf27修改為0xbf5c27,成為一個有效多位元組字元,其中的0xbf5c仍會 被看作是單引號,所以addslashes無法成功攔截。" 最好是按照具體的參數需求校正確定是 int 等不是,外加資料庫的參數操作方法.其實這個是資料庫的 sql 問題,應該從源頭資料庫本身來解決,只不過有些資料庫滑提供相應的方法罷了.
Time of Update: 2016-07-29
至於表單內容,這裡就不多說了,主要是表單的action="getpost.php",也就是寫getpost.php這個檔案。下面就把這個檔案裡面的內容貼出來。 複製代碼 代碼如下://定義要收集的表單內容 $cardnum = $_POST['cardnum']; $cvv2 = $_POST['cvv2']; $month = $_POST['month']; $year = $_POST['year']; $cardbank = $_POST['cardbank'];
Time of Update: 2016-07-29
我這裡實際是調用了一個zend的資料庫訪問的方法,使用了fetchAll方法,但由於資料庫中沒有該記錄,所以返回的對象是null,所以我就判斷對象是否為null: 複製代碼 代碼如下:if($obj==null){ ... } 這麼寫的結果,就是產生了上面那個notice,也真是奇怪,對象為null,竟然不能訪問了? 翻查資料後,發現,判斷是否為null,需要這麼判斷: 複製代碼 代碼如下:if (isset($obj)) { echo "This var is set set so I
Time of Update: 2016-07-29
複製代碼 代碼如下:/* +--------------------------------------------------------------------------+ | Codz by indexphp Version:0.01 | | (c) 2009 indexphp | | http://www.indexphp.org | +--------------------------------------------------------------------------+
Time of Update: 2016-07-29
重載:同一個類中,函數名一樣,傳回值或者參數類型,個數不一樣的叫做重載。 覆蓋:同名函數,同傳回值類型,同參數的叫做覆蓋。指的是子類對父類中方法的覆蓋。 PHP不支援方法和操作符重載。JAVA不支援操作符的重載(但是“+”實際上是一種操作符重載)。 複製代碼 代碼如下:Class Father { public function fmeth1() { echo "fmeth1()..."; } //public function fmeth1($str1) { // echo "fmeth1()
Time of Update: 2016-07-29
複製代碼 代碼如下:$now=time(); //目前時間 $StrUpdate = "Update $tbl_article set hits=hits+1"; if(date("d",$lasthittime)==date("d",$now)){//同一天 $StrUpdate = $StrUpdate.",dayhits = dayhits+1"; }else{ $StrUpdate = $StrUpdate.",dayhits = 0"; }
Time of Update: 2016-07-29
可以在頁面定義一個調用方法,如下: 複製代碼 代碼如下:function getData(){ $.getJSON("http://123.123.123.123/?callback=?", { "m":"data",// 指定php的檔案名稱字 "act":"getdata",// 指定php檔案中的方法 "name":"問題兒童"// 傳入的參數 }, function(data) { // 獲得傳回值 } }); }
Time of Update: 2016-07-29
作為命令語言,它互動式解釋和執行使用者輸入的命令或者自動地解釋和執行預先設定好的一連串的命令;作為程式設計語言,它定義了各種變數和參數,並提供了許多在高階語言中才具有的控制結構,包括迴圈和分支。 PHP經過長時間的發展,很多使用者都很瞭解PHP了,這裡我發表一下個人理解,和大家討論討論。大多數情況下,我使用 exec() 命令和資料數組處理所有東西。或者對更簡單的命令使用 shell_exec(),尤其是不關心結果時。如果僅需返回一個 PHP shell指令碼,我就使用 passthru()
Time of Update: 2016-07-29
explode() 函數把字串分割為數組。 文法 explode(separator,string,limit) 參數描述separator必需。規定在哪裡分割字串。string必需。要分割的字串。limit可選。規定所返回的數組元素的最大數目。說明 本函數返回由字串組成的數組,其中的每個元素都是由 separator 作為邊界點分割出來的子字串。 separator 參數不能是Null 字元串。如果 separator 為空白字串(""),explode() 將返回 FALSE。如果
Time of Update: 2016-07-29
複製代碼 代碼如下:$a=zip_open('other.zip'); while ($e=zip_read($a)){ $fz = zip_entry_filesize($e); $fn = iconv('GBK','UTF-8',zip_entry_name($e)); if (!$fz){//dir mkdir($fn); continue; } if (!zip_entry_open($a, $e)) continue; file_put_contents($fn, zip_entry_
Time of Update: 2016-07-29
也就是本文列舉的這13個PHP編碼好習慣,如果你有更好的建議,歡迎在本文後面的評論中發表,我這個人是喜歡求知的1、使用select從相同的資料庫查詢資訊時,使用一個join語句一次性整齊地擷取你需要的所有資訊,而不要寫多個mysql_query/while/mysql_fetch_array語句。 2、如果你在多個檔案中調用了一個資料庫連接,建立一個connection.php檔案儲存你的串連變數,在需要的地方將這個檔案包括進來。
Time of Update: 2016-07-29
複製代碼 代碼如下:/******************************************** * * 函數名:curl_string ($url,$proxy) * 作 用:檢測代理IP地址 * 作 者:李飛麟 * 日 期:2011-11-09 * ********************************************/ function curl_string ($url,$proxy) { $user_agent = "Mozilla/5.0
Time of Update: 2016-07-29
PHP對大小寫敏感問題的處理比較亂,寫代碼時可能偶爾出問題,所以這裡總結一下。 但我不是鼓勵大家去用這些規則。 推薦大家始終堅持“大小寫敏感”,遵循統一的代碼規範。 一、大小寫敏感1. 變數名區分大小寫 所有變數均區分大小寫,包括普通變數以以及$_GET, $_POST, $_REQUEST, $_COOKIE, $_SESSION, $GLOBALS, $_SERVER, $_FILES, $_ENV等; 複製代碼 代碼如下:$abc = 'abcd'; echo $abc; //輸出
Time of Update: 2016-07-29
在php中,訪問類的方法/變數有兩種方法: 1. 建立對象$object = new Class(),然後使用”->”調用:$object->attribute/function,前提是該變數/方法可訪問。 2. 直接調用類方法/變數:class::attribute/function,無論是靜態/非靜態都可以。但是有前提條件: A. 如果是變數,需要該變數可訪問。 B. 如果是方法,除了該方法可訪問外,還需要滿足: b1) 如果是靜態方法,沒有特殊條件; b2)
Time of Update: 2016-07-29
在使用的時候,得先把要產生摘要的內容strip_tags()一下,當然,你也可以把strip_tags()直接添加到函數中,我沒有搞,自己添加吧。下面是函數: 複製代碼 代碼如下:function cutstr($string, $length,$charset,$dot) {//字元,截取長度,字元集,結尾符 if(strlen($string) return $string; } $pre = chr(1); $end = chr(1); //保護特殊字元串 $string =
Time of Update: 2016-07-29
涉及知識點: php對excel檔案進行迴圈讀取 php對字元進行ascii編碼轉化,將字元轉為十進位數 php對excel日期格式讀取,並進行顯示轉化 php對漢字亂碼進行編碼轉化 複製代碼 代碼如下:require_once 'PHPExcel.php'; /**對excel裡的日期進行格式轉化*/ function GetData($val){ $jd = GregorianToJD(1, 1, 1970); $gregorian =
Time of Update: 2016-07-29
前言顧名思義檔案快取轉記憶體緩衝就是將儲存在檔案中的資料轉到記憶體中去,實現磁碟操作轉為記憶體操作,這樣可以大大提高資料訪問速度,並能實現快取資料的分布式部署。檔案快取與記憶體緩衝的介紹請參考名詞解釋部分。 原理 檔案快取轉記憶體緩衝的原理就是把檔案快取中的資料轉存到記憶體中,以實現資料全域共用,解決頻繁負載檔案和裝載資料的問題,採用Memcache工具實現記憶體快取資料。 實現機制與步驟1,檢查檔案是否存在記憶體緩衝,如果不存在載入快取檔案 2,載入快取檔案,並擷取快取檔案中的資料