Time of Update: 2017-02-28
/** * 壓縮html : 清除分行符號,清除定位字元,去掉注釋標記 * @param $string * @return 壓縮後的$string * */ function compress_html($string) { $string = str_replace("\r\n", '', $string); //清除分行符號 $string = str_replace("\n", '',
Time of Update: 2017-02-28
同事發現一個在使用set_error_handler的時候, 能100%重現的core, 提煉後的重現代碼如下(環境必須不能訪問internet): <?php function err_handler(){ exit; return true; } set_error_handler('err_handler'); $client = file_get_contents("http://www.laruence.com/
Time of Update: 2017-02-28
/** * 字元截取 支援UTF8/GBK * @param $string * @param $length * @param $dot */ function str_cut($string, $length, $dot = '...') { $strlen = strlen($string); if($strlen <= $length) return $string; $string = str_replace(array('
Time of Update: 2017-02-28
產生幾個隨機數字,隨機提問,總共10輪 windows命令列效果圖 <?php substr(php_sapi_name(), 0, 3) !== 'cli' AND die("Please run in cli mode"); new Php_Cli_Game; class Php_Cli_Game{ private $_digitals = array(); private $_answer = '';
Time of Update: 2017-02-28
分頁是目前在顯示大量結果時所採用的最好的方式。有了下面這些代碼的協助,開發人員可以在多個頁面中顯示大量的資料。在互連網上,分頁是一般用於搜尋結果或是瀏覽全部資訊(比如:一個論壇主題)。幾乎在每一個Web應用程式都需要劃分返回的資料,並按頁顯示。下面的這個列表給出的代碼可以讓你的開發很有協助。學習這些代碼,對於初學者也很有協助。1) 使用Ajax分頁下面這個樣本使用了jQuery + PHP。 Demo link 2) MySql
Time of Update: 2017-02-28
使用PHP完成SVN的操作,包括複製,查看列表,刪除,移動,建立目錄,查看diff,更新,合并,提交,擷取狀態,擷取commit log,擷取目前的版本號操作。在svn 1.6.11版本中測試通過。 <?php/**** This class for execute the external program of svn** @auth Seven Yang <qineer@gmail.com>**/class SvnPeer{/*** List directory
Time of Update: 2017-02-28
這個是因為, 在GBK環境下, “玕”的編碼是”0xab 0x5c, 所以, 又是一個’5c’引發的問題.. 一般來說, 還是建議大家用unicode作為代碼檔案的字元集, 如果要使用GBK, 再主動轉換下. 不過, 就問題說問題, 如果你的指令碼非要GBK編碼, 那怎麼避免這個問題呢? 從PHP5.3開始, PHP引入了Zend Multibyte來支援多字元集編碼. 對於上面的代碼, 我們修改如下: 然後,
Time of Update: 2017-02-28
PHP支援內嵌HTML的, 那麼對於PHP檔案中, PHP標籤外的HTML會怎麼處理呢? 它和直接輸出HTML有什麼區別麼? PHP提供了一個錯誤抑制符’@', 它是通過什麼方式來阻止錯誤輸出呢? 我又該在什麼時候使用它呢? 這是這倆天一些網友提到的共同問題, 今天就索性整體回答下, 備後來人翻閱. PHP檔案內嵌HTML的處理方式 在PHP中, 所有在標籤外的字元, 在詞法分析過程中, 都會翻譯成T_INLINE_HTML token, 在文法分析的時候,
Time of Update: 2017-02-28
閑來無事,就系統的從PHP的詞法分析,文法分析,opcodes產生,執行,整個流程,詳細的分析了global關鍵字的實現。 當你在指令碼中寫下: <?php $var = "laruence"; function sample(){ global $var; } ?> 的時候,你知道PHP是怎麼實現在函數範圍找到全域變數的麼? 在我前面的文章中(深入理解PHP原理之Opcodes)講過,
Time of Update: 2017-02-28
編程|對象|項目 PHP的物件導向編程:開發大型PHP項目的方法(四)作者:Luis Argerich 譯者:limodou PHP的進階OOP技術 在看過基本的OOP概念後,我就可以向你展示更進階的技術: 序列化(Serializing) PHP不支援永久對象,在OOP中永久對象是可以在多個應用的引用中保持狀態和功能的對象,這意味著擁 有將對象儲存到一個檔案或資料庫中的能力,而且可以在以後裝入對象。這就是所謂的序列化機制。PHP 擁
Time of Update: 2017-02-28
使用樣本 如下,在request的時候能夠定義請求完成之後的callback函數。 <?php $base = event_base_new(); $uri = "http://www.baidu.com/"; $config = array( 'eventbase' => $base ); for($i = 0; $i < 10; $i++) { $client = new AsyncHttpClient(
Time of Update: 2017-02-28
我們都知道PHP用寫時複製來對變數複製做效能最佳化, 而在以前的三元式中, 卻每次都會複製, 這在運算元是大數組的情況下, 會造成效能問題:<?php$a = range(1, 1000);$i = 0;$start = microtime(true);while (++$i < 1000) {$b = isset($a)? $a : NULL;}var_dump(microtime(true) - $start);相比, 我們採用if-else來做同樣的功能:<?
Time of Update: 2017-02-28
在PHP5.4中, 根據由Rasmus提交的RFC, 引入了一套新的訊號處理機制, 目的是為了使得訊號屏蔽機制可以應用到任何SAPI中, 並且提高在這個過程中的PHP效能.新的機制, 叫做zend signal, 它的理念, 來自Yahoo的”延遲訊號處理”(Yahoo signal deferring mechanism), 而後, facebook把這套理念加入了PHP中, 為了提升PHP+Apache
Time of Update: 2017-02-28
<?php $conn = mysql_connect('localhost','root','mysql'); $db = mysql_select_db("wiki"); $q = mysql_query("select * from wiki_doc");
Time of Update: 2017-02-28
工廠設計模式: 提供擷取某個對象的新執行個體的一個介面, 同時使調用代碼避免確定實際執行個體化基類的步驟。<?php //基礎標準CD類 class CD { public $tracks = array();
Time of Update: 2017-02-28
PHP設計模式:PHP設計模式之裝飾器模式PHP設計模式之委託模式PHP設計模式之面板模式PHP設計模式之原廠模式PHP設計模式之解譯器模式PHP設計模式之迭代器模式PHP設計模式之中介者模式如下為資料庫指令碼:/*!40101 SET NAMES utf8 */; /*!40101 SET SQL_MODE=''*/;
Time of Update: 2017-02-28
本人在登陸phpmyadmin時,也遭遇了Can't create TCP/IP socket (10106)的錯誤,在網站尋找了一套堆資料後,還是無果,最後,在自己的排查下,發現了問題所在。 網站的環境是win2003+PHP5,問題出現之前,沒有做過任何的修改。突然間訪問PHP網站時出現錯誤提示:Warning: Cannot modify header information - headers already sent by....
Time of Update: 2017-02-28
PHPTeam Dev很榮幸的宣布PHP 5.4RC1的發布。PHP 5.4包括新語言的功能並丟掉了一些不好的語音習慣(不推薦)。Windows二進位檔案可從Windows QA網站上下載。這是RC----不要在生產中使用!這是RC1—在最後的PHP 5.4.0版本之前沒有任何新的功能。RC語句的旨在穩定發布之前作為修複階段的bug。自從最後一個Beta版本的改變包括l 通過執行個體增加類成員(e.g. (new Foo)->bar()).l
Time of Update: 2017-02-28
先說PHP的錯誤資訊,來自PHP100論壇 PHP的錯誤資訊由一下幾部分構成 {錯誤類型}: {錯誤原因} in {錯誤檔案} on {錯誤行數} 說明了在哪個檔案的哪一行中因何種原因出現了何種錯誤。 常見的錯誤類型一般有下面幾種: Parse error(解析錯誤)一般都伴隨著Syntax errors(句法錯誤) ,說明你的程式不符合PHP的文法。 它是層級最高的錯誤,整個指令碼根本不會被執行。 一般都是由一個運算式缺少";"
Time of Update: 2017-02-28
下面是一些非常有用的PHP類庫,相信一定可以為你的WEB開發提供更好和更為快速的方法。 類庫可以讓你很簡的建立複雜的圖表和圖片。當然,它們需要GD庫的支援。 pChart - 一個可以建立統計圖的庫。 Libchart - 這也是一個簡單的統計圖庫。 JpGraph - 一個物件導向的圖片建立類。 Open Flash Chart - 這是一個基於Flash的統計圖。 RSS 解析 MagpieRSS -