Time of Update: 2017-01-19
我們先簡單的瞭解一些http的知識,從而理解該協議的無狀態特性。然後,學習一些關於cookie的基本操作。最後,我會一步步闡述如何使用一些簡單,高效的方法來提高你的php應用程式的安全性以及穩定行。我想大多數的php初級程式員一定會認為php預設的session機制的安全性似乎是有一定保障的,事實恰好相反 – php團隊只是提供了一套便捷的session的解決方案提供給程式員使用,至於安全性的話,應該由程式員來加強,這是應用程式Team
Time of Update: 2017-01-19
一、curl的優勢你也許會說,在php中可以很容易的擷取某個url的內容,只要通過file_get_contents,file或者readfile函數就能輕鬆實現,根本不必使用cURL:複製代碼 代碼如下: $content = file_get_contents("http://www.360weboy.com");
Time of Update: 2017-01-19
CSV大檔案的讀取已經在前面講述過了(PHP按行讀取、處理較大CSV檔案的代碼執行個體),但是如何快速完整的操作大檔案仍然還存在一些問題。1、如何快速擷取CSV大檔案的總行數?辦法一:直接擷取檔案內容,使用分行符號進行拆分得出總行數,這種辦法對小檔案可行,處理大檔案時不可行;辦法二:使用fgets一行一行遍曆,得出總行數,這種辦法比辦法一好一些,但大檔案仍有逾時的可能;辦法三:藉助SplFileObject類,直接將指標定位到檔案末尾,通過SplFileObject::key方法擷取總行數,這種
Time of Update: 2017-01-19
使用方法樣本:設定寬度,等比例縮放複製代碼 代碼如下:<?php include('SimpleImage.php'); $image = new SimpleImage(); $image->load('picture.jpg'); $image->resizeToWidth(250);
Time of Update: 2017-01-19
對於數百萬條資料量的CSV檔案,檔案大小可能達到數百M,如果簡單讀取的話很可能出現逾時或者卡死的現象。為了成功將CSV檔案裡的資料匯入資料庫,分批處理是非常必要的。下面這個函數是讀取CSV檔案中指定的某幾行資料:複製代碼 代碼如下:/** * csv_get_lines 讀取CSV檔案中的某幾行資料 * @param $csvfile csv檔案路徑 * @param $lines 讀取行數 * @param $offset 起始行數 *
Time of Update: 2017-01-19
關於排序一般我們都是通過資料庫或者nosql(eg:redis)先排好序然後輸出到程式裡直接使用,但是有些時候我們需要通過PHP直接來對數組進行排序,而在PHP裡儲存資料用到最多的就是對象和數組,但處理較多的就是數組,因為有非常豐富的內建函數庫(其實對象一定程度上也可以理解為是數組),這些函數庫很大程度上可以協助我們實現某些功能。常用的系統函數有sort、asort、arsort、ksort、krsort等等,這裡我主要說下對二維數組的排序,兩種方法:一、用PHP內建array_multisor
Time of Update: 2017-01-19
一、函數實現執行個體1:複製代碼 代碼如下:function time_tran($the_time){ $now_time = date("Y-m-d H:i:s",time()+8*60*60); $now_time = strtotime($now_time); $show_time = strtotime($the_time); $dur = $now_time -
Time of Update: 2017-01-19
一、快速排序 1.簡介快速排序是由東尼·霍爾所發展的一種排序演算法。在平均狀況下,排序 n 個項目要Ο(n log n)次比較。在最壞狀況下則需要Ο(n2)次比較,但這種狀況並不常見。事實上,快速排序通常明顯比其他Ο(n log n) 演算法更快,因為它的內部迴圈(inner loop)可以在大部分的架構上很有效率地被實現出來。快速排序使用分治法(Divide and conquer)策略來把一個串列(list)分為兩個子串列(sub-lists)。2.步驟從數列中挑出一個元素,稱為
Time of Update: 2017-01-19
如果載入的檔案特別大時,如幾百M,上G時,這時效能就降下來了,那麼PHP裡有沒有對大檔案的處理函數或者類呢? 答案是:有的。PHP真的越來越“物件導向”了,一些原有的基礎的SPL方法都開始陸續地實現出class了。從 PHP 5.1.0 開始,SPL 庫增加了 SplFileObject 與 SplFileInfo 兩個標準的檔案操作類。SplFileInfo 是從 PHP 5.1.2 開始實現的。從字面意思理解看,可以看出 SplFileObject 要比 SplFileInfo
Time of Update: 2017-01-19
約瑟夫問題(有時也稱為約瑟夫斯置換,是一個出現在電腦科學和數學中的問題。在電腦編程的演算法中,類似問題又稱為約瑟夫環。又稱“丟手絹問題”.)猴子一群,都帶著號碼的,站好了一圈,數到m的槍斃,剩下的接著數。如此往複,死剩下的一個就瘋了複製代碼 代碼如下:<?phpfunction killMonkeys($monkeys, $m){ $k = $m; while
Time of Update: 2017-01-19
今天突然發現需要在父類中調用子類的方法,之前一直都沒這麼用過,通過實踐發現也可以。例子如:複製代碼 代碼如下:<?php/** * 父類調用子類方法 基類 * @author LNMP100 * */class BaseApp{ /** * 調用子類方法 * @version 建立時間:2013-07-10&
Time of Update: 2017-01-19
一、採集類源碼複製代碼 代碼如下:<?php /** *通用列表採集類 *版本V1.3 *作者:JAE */ require_once '../phpQuery/phpQuery/phpQuery.php'; class QueryList{ private $pageURL;
Time of Update: 2017-01-19
一、關於淘寶IP地址庫我們目前提供的服務包括:1. 根據使用者提供的IP地址,快速查詢出該IP地址所在的地理資訊和地理相關的資訊,包括國家、省、市和電訊廠商。2. 使用者可以根據自己所在的位置和使用的IP地址更新我們的服務內容。我們的優勢:1. 提供國家、省、市、縣、電訊廠商全方位資訊,資訊維度廣,格式規範。2. 提供完善的統計分析報表,省準確度超過99.8%,市準確度超過96.8%,資料品質有保障。二、介面說明1. 請求介面(GET):http://ip.taobao.com/service/
Time of Update: 2017-01-19
但是如果數組比較大的時候,效能就會下降,啟動並執行就會久一點,那如果針對在大數組情況下做最佳化呢,下面說兩種方法(都是通過自訂函數來實現):1.數組key與value翻轉,通過isset判斷key是否存在於數組中複製代碼 代碼如下:/** * in_array is too slow when array is large */public static function inArray($item, $array) {
Time of Update: 2017-01-19
解決session阻塞問題的辦法:在session操作完成後調用session_write_close()即可避免此問題;案例一:使用session過程中,在開啟session後,同一瀏覽器,執行同一程式,不同頁面會被鎖。不同瀏覽器不會出現這種情況。 疑問:是不是session_start導致了阻塞? 於是,我寫了幾個頁面測試了一下,發現是session導致了阻塞,而其他兩種情況不會造成阻塞。
Time of Update: 2017-01-19
一般的做法就會這樣:複製代碼 代碼如下:<?phpfor ($offset = 0; $offset < $length; ++$offset) { if ($str1[$offset] !== $str2[$offset]) { return $offset; }}而問題下面給出的最佳答案是用異或操作符( ^
Time of Update: 2017-01-19
一、仿淘寶評論購買記錄隱藏部分使用者名稱,以下代碼親測可用。複製代碼 代碼如下:function cut_str($string, $sublen, $start = 0, $code = 'UTF-8'){ if($code == 'UTF-8') { $pa = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\
Time of Update: 2017-01-19
複製代碼 代碼如下:<?phpclass PHPTelnet { var $show_connect_error=1; var $use_usleep=0; // change to 1 for faster execution // don't change to 1 on Windows
Time of Update: 2017-01-19
註:本例中構建Web Service採用SOAP方式,通過php外掛程式NuSoap來搭建SOAP伺服器。複製代碼 代碼如下:<?require_once("lib/nusoap.php"); //調用NuSoap$server = new soap_server(); //建立soap服務端$server->configureWSDL("login_service"); //配置WSDL$namespace = "http://www.abcd9.com";
Time of Update: 2017-01-19
樣本1:複製代碼 代碼如下:<?phpfor($q=1;$q<=9;$q++){ for($w=0;$w<=9;$w++){ for($e=0;$e<=9;$e++){ if($q*$q*$q + $w*$w*$w + $e*$e*$e