Time of Update: 2016-07-21
php檔案處理:http://www.jb51.net/w3school/php/php_file.htm 複製代碼 代碼如下: $filename=dirname(__FILE__)."/readfrom.txt"; $ofilename=dirname(__FILE__)."/writeto.txt"; if(!file_exists($filename)){ echo $filename." not found!"; exit; } $fp=fopen($filename,"r");
Time of Update: 2016-07-21
我們首先給出兩個數組 複製代碼 代碼如下: $r = array(1,2,3,4,5,6); $e = array(7,8,9,10); ?> 下面我們用array_merge和加號來何必這兩數組 複製代碼 代碼如下: print_r($r+e); // 輸出Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 ) print ""; print_r(
Time of Update: 2016-07-21
2010年應該被人們記住,因為SQL將在這一年死去。這一年關聯式資料庫行將就木,這一年開發人員發現他們再不需要長時間辛苦的構造列或者表格來存放資料。2010年將是文檔型資料庫的起始年。儘管這樣的勢頭已經持續多年,現在才是一個更多,更廣泛的文檔型資料庫出現的年代。從雲端式計算的Amazon到Google,大量開源工具,以及隨之誕生的CouchDB和MongoDB。那麼什麼是MongoDB?下面有五件事是PHP開發人員應該瞭解的:1. MongoDB是一個單獨的伺服器;2.
Time of Update: 2016-07-21
php-fpm的兩種進程管理員模式php-fpm的進程數也是可以根據設定分為動態和靜態的。一種是直接開啟指定數量的php-fpm進程,不再增加或者減少;另一種則是開始的時候開啟一定數量的php-fpm進程,當請求量變大的時候,動態增加php-fpm進程數到上限,當閒置時候自動釋放閒置進程數到一個下限。這兩種不同的執行方式,可以根據伺服器的實際需求來進行調整。這裡先說一下涉及到這個的幾個參數吧,他們分別是pm、pm.max_children、pm.start_servers、pm.min_spar
Time of Update: 2016-07-21
ps aux |grep php-fpm |more查看php-fpm總數php-fpm.conf 配置pid stringPID檔案的位置. 預設為空白.error_log string錯誤記錄檔的位置. 預設: 安裝路徑#INSTALL_PREFIX#/log/php-fpm.log.log_level string錯誤層級. 可用層級為: alert(必須立即處理), error(錯誤情況), warning(警告情況), notice(一般重要訊息), debug(調試資訊). 預設:
Time of Update: 2016-07-21
PHP 本身沒有多線程的東西,但可以曲線的辦法來造就出同樣的效果,比如多進程的方式來達到非同步呼叫,只限於命令模式。另外還有一種更簡單的方式可用於 Web 程式中,那就是用 fsockopen()、fputs() 來請求一個 URL, 而無需等待返回,如果你在那個被請求的頁面(URL)中做些事情就相當於非同步了。關鍵代碼如下:複製代碼 代碼如下: $fp = fsockopen('localhost',80,&$errno,&$errstr,5); if(!$fp) {
Time of Update: 2016-07-21
1.用戶端頁面採用AJAX技術請求伺服器優點:最簡單,也最快,就是在返回給用戶端的HTML代碼中,嵌入AJAX調用,或者,嵌入一個img標籤,src指向要執行的耗時指令碼。缺點:一般來說Ajax都應該在onLoad以後觸發,也就是說,使用者點開頁面後,就關閉,那就不會觸發我們的後台指令碼了。而使用img標籤的話,這種方式不能稱為嚴格意義上的非同步執行。使用者瀏覽器會長時間等待php指令碼的執行完成,也就是使用者瀏覽器的狀態列一直顯示還在load。當然,還可以使用其他的類似原理的方法,比如scri
Time of Update: 2016-07-21
1.google開放api 複製代碼 代碼如下: $urlToEncode="http://bbs.lewanchina.com"; generateQRfromGoogle($urlToEncode); function generateQRfromGoogle($chl,$widhtHeight ='150',$EC_level='L',$margin='0') { $url = urlencode($url); echo ''; } 2.php類庫PHP QR Code PHP QR
Time of Update: 2016-07-21
代碼如下所示:複製代碼 代碼如下://被察者抽象類別class Observed implements SplSubject{ protected $_name; protected $_observers; //執行個體化,產生一個觀察者對象 public function __construct(){ $this->_observers = new SplObjectStorage(); } // 添加觀察者對象 public
Time of Update: 2016-07-21
複製代碼 代碼如下://開始緩衝圖片 ob_start();//啟用輸出緩衝,暫時將要輸出的內容緩衝起來 imagejpeg($newimage,false,$quality);//輸出 $data = ob_get_contents();//擷取剛才擷取的緩衝 ob_end_clean();//清空緩衝 $mem =get_memcache();//自己修改 $mem->
Time of Update: 2016-07-21
今天比較忙,本來想寫多點內容,暫時沒有辦法了,撿個比較簡單的組件來寫下好了,往後的幾章都是介紹組件。LtLogger的使用還是比較簡單的,基本代碼都是在Autoloader的環境下啟動並執行,所以我也懶的去引用神馬路徑,調用神馬類庫,知道怎麼用就可以了。$log=new LtLogger();//自己定義log的存放路徑$log->conf('log_file' => '/log/system.log');$log->log(date('Y-m-d').' 加上當前程式名,操作人就是一條日誌了'
Time of Update: 2016-07-21
php可以通過set_time_limit(0);來取消php腳步逾時限制,從而達到長串連的效果。例子代碼如下:複製代碼 代碼如下:echo "每隔3秒輸出一次";set_time_limit(0); //保證php程式運行不逾時退出while(1) { echo date("H:i:s").""; ob_flush(); flush(); //重新整理並輸出PHP緩衝資料 sleep(3); //延遲3秒}?>範例程式碼2:複製代碼 代碼如下:set_time_limit(0)
Time of Update: 2016-07-21
複製代碼 代碼如下:echo posix_getpid(); //8805sleep(10);?>再用#ps -ax這個時候如果多開開個瀏覽器請求,就會發現Apache自動增加了幾個新的進程我們發現並非一直請求同一個進程重啟apache# /usr/local/apache2/bin/apachectl
Time of Update: 2016-07-21
原因一:80連接埠佔用例如IIS,另外就是迅雷。我的apache伺服器就是被迅雷害得無法啟用!原因二:軟體衝突裝了某些軟體會使apache無法啟動如Dr.com 你開啟網路連接->TcpIp屬性->進階->WINS標籤把netbios的lmhosts對勾去掉,禁用tcp/ip的netbios. 然後再啟動應該就可以了。原因三:httpd.conf配置錯誤如果apache的設定檔httpd.conf搞錯了,在windows裡啟動它,會提示the requested operation has
Time of Update: 2016-07-21
黑格爾有句名言:存在即合理。以此為論據的話,靜態類的使用必然有其合理性。不過物極必反,一旦代碼過於依賴靜態類,其劣化的結局則不可避免。這就好比罌粟作為一種草本植物,有其在藥理上的價值,但如果肆無忌憚的大量使用,它就變成了毒品。什麼是靜態類所謂靜態類指的是無需執行個體化成對象,直接通過靜態方式調用的類。代碼如下:複製代碼 代碼如下:class Math{ public static function ceil($value) { return ceil($value);
Time of Update: 2016-07-21
PHP新手,一直想做一下分頁都給忘了,今天有幸被提醒所以網上搜了一下。有些寫的看不懂也沒怎麼去看。最後找到一個比較簡單的。 大致的思想就是: 1.設定每頁要顯示的最大記錄數。 2.計算出頁面總數 3.當前頁面跟總頁面數比較改變串連的狀態 4.用limit控制從資料庫中讀取記錄下面是代碼:複製代碼 代碼如下:$conn = mysql_connect('localhost','root','');
Time of Update: 2016-07-21
瞭解MySql必須牢牢記住其體繫結構圖,Mysql是由SQL介面,解析器,最佳化器,緩衝,儲存引擎組成的 1 Connectors指的是不同語言中與SQL的互動2 Management Serveices & Utilities: 系統管理和控制工具3 Connection Pool: 串連池。管理緩衝使用者串連,線程處理等需要緩衝的需求4 SQL Interface: SQL介面。接受使用者的SQL命令,並且返回使用者需要查詢的結果。比如select from就是調用SQL
Time of Update: 2016-07-21
二分法尋找數組是否包含某一元素,相容正反序,代碼實現:複製代碼 代碼如下: $searchValue = (int)$_GET['key']; function search(array $array, $value) { $max = count($array)-1; $min = 0; $isAscSort = $array[$min] while (TRUE) { $sum = $min+$max; $midKey =
Time of Update: 2016-07-21
這幾天看到幾篇關於尾遞迴的文章,之前對尾遞迴沒有多大概念,所以回頭研究了一下尾遞迴。 尾遞迴的概念尾遞迴(Tail Recursion)的概念是遞迴概念的一個子集。對於普通的遞迴,由於必須要記住遞迴的呼叫堆疊,由此產生的耗用是難以估量的。比如下文中php小節第一個例子使用php寫一個階乘函數,就是由於遞迴造成了棧溢出的錯誤。尾遞迴出現的目的就是消除遞迴棧耗損這個缺憾的。從代碼層面看,尾遞迴其實一句話就可以說清楚了:函數的最後一個操作是遞迴調用 比如"菲波納鍥"數列的php的遞迴實現:複製代碼
Time of Update: 2016-07-21
//參數篩選//篩選cat_id=2$cl->SetFilter("cat_id",array(2));//僅在id為1、3、7的子論壇中搜尋$cl->SetFilter("forum_id",array(1,3,7));//範圍篩選//篩選發布時間為今天,參數為int時間戳記$cl->SetFilterRange("starttime",123,124);//篩選價格$cl->SetFilterRange("price",10.0,99.9);//