Time of Update: 2016-07-21
而且給的資料是HTML代碼串,比如這樣:張三 評論了 李四 分享的 一篇文章文章一長串的東西截取的時候是要截取 div 標籤內部的東西,而且要保留HTML標籤,只是對其中的文字做處理。比如我可能只是截取到“李四”的“李”字,但是如果就這樣放到前端的話,“李四”前面的 a
Time of Update: 2016-07-21
一、引 言
Time of Update: 2016-07-21
原理: 1.程式執行的過程中,在相應的地方記錄你想要追蹤的變數及調用棧和每次函數調用的參數, 把這些資訊以一定的格式記錄到檔案,一個變數一行,具體資料格式請參看代碼,這裡不細講. 2.現在有了每次記錄變數時的所有資訊(包括調用棧及參數),當你通過瀏覽器訪問這個程式時, 這個程式會把整個檔案讀取分析, 在頁面顯示你的所有調試資訊,並且它會動態ajax重新整理,保持與你的調試同步. 畫個圖吧,要清晰得多.
Time of Update: 2016-07-21
“PHP_SELF” 當前正在執行指令碼的檔案名稱,與 document root 相關。舉例來說,在 URL 地址為 http://www.jb51.net/test.php/foo.bar 的指令碼中使用 $_SERVER['PHP_SELF'] 將會得到 /test.php/foo.bar 這個結果。__FILE__ 常量包含當前(例如包含)檔案的絕對路徑和檔案名稱。 “SCRIPT_NAME” 包含當前指令碼的路徑。這在頁面需要指向自己時非常有用。__FILE__
Time of Update: 2016-07-21
1.定義常量define("CONSTANT", "Hello world."); 常量只能包含標量資料(boolean,integer,float 和 string)。 調用常量時,只需要簡單的用名稱取得常量的值,而不能加“$”符號,如:echo CONSTANT; 注: 常量和(全域)變數在不同的名字空間中。這意味著例如 TRUE 和 $TRUE 是不同的。 2.普通變數$a = "hello"; 3.可變變數(使用兩個貨幣符號($)) $$a = "world"; 兩個變數都被定義了: $
Time of Update: 2016-07-21
複製代碼 代碼如下:function getAdder($x) { return function ($y) use ($x) { return $x + $y; }; } $adder = getAdder(8); echo $adder(2); // prints "10" 在這裡, getAdder ( )函數建立一個封閉使用參數$ × (關鍵字“使用”勢力越來越變數上下文) ,它需要額外的參數$
Time of Update: 2016-07-21
與ADODB和MDB2相比,PDO更高效。目前而言,實現“資料庫抽象層”任重而道遠,使用PDO這樣的“資料庫訪問抽象層”是一個不錯的選擇。 PDO->beginTransaction() — 標明復原起始點 PDO->commit() — 標明復原結束點,並執行SQL PDO->__construct() — 建立一個PDO連結資料庫的執行個體 PDO->errorCode() — 擷取錯誤碼 PDO->errorInfo() — 擷取錯誤的資訊 PDO->exec() — 處理一條SQL語句,
Time of Update: 2016-07-21
曾找過一個JS版的,但是到了UTF8編碼裡不能用,於是就產生了自已寫一個的念頭。其實我這個代碼的實現原理很簡單的,只是一個替換字元集的過程,相信大部份人都可以寫得出來。以下是代碼,不知道有沒有bug,大家如果在使用上有問題,可以提出來 複製代碼 代碼如下: // class utf8_chinese { private $utf8_gb2312; private $utf8_big5; public function __construct(){ $this->utf8_gb2312 =
Time of Update: 2016-07-21
如下是php.ini中的原文說明以及預設配置: ; open_basedir, if set, limits all file operations to the defined directory ; and below. This directive makes most sense if used in a per-directory or ; per-virtualhost web server configuration file. This directive is ; *NOT*
Time of Update: 2016-07-21
為什麼呢?因為表單的處理有GET和POST兩種,怎麼在這兩種表單中都要傳遞一直do參數,而且要在後台通過同樣的方式擷取就一直是個很困惑的問題,今天經過幾個小時的實驗終於搞懂了,特發此文。 GET表單: 複製代碼 代碼如下:"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 表單使用GET方式傳值 處理GET表單的PHP:複製代碼 代碼如下: echo "參數 name
Time of Update: 2016-07-21
複製代碼 代碼如下:// 吳燕軍 // 2009-06-27 // 採集程式php set_time_limit(0); //cookie儲存目錄 $cookie_jar = '/tmp/cookie.tmp'; /*函數------------------------------------------------------------------------------------------------------------*/ //類比請求資料 function
Time of Update: 2016-07-21
1.- DRY: Don't repeat yourself. DRY 是一個最簡單的法則,也是最容易被理解的。但它也可能是最難被應用的(因為要做到這樣,我們需要在泛型設計上做相當的努力,這並不是一件容易的事)。它意味著,當我們在兩個或多個地方的時候發現一些相似的代碼的時候,我們需要把他們的共性抽象出來形一個唯一的新方法,並且改變現有的地方的代碼讓他們以一些合適的參數調用這個新的方法。 DRY
Time of Update: 2016-07-21
我寫過一個外部模組擴充,現在開始看PHP源碼中的mysql擴充,它是可以被整合到PHP內部的,所以應該算是內建的擴充了。 該擴充需要用到mysql資料庫提供的一些介面,所以需要安裝了mysql,並能夠確定mysql.h的位置。 該擴充的位置一般在 PHP-source-code/ext/mysql 下。 在linux下,主要需要注意的檔案是: config.m4, php_mysql.c, php_mysql_structs.h。 ps:該目錄下有tags檔案,所以可以利用ctags的各種特性,
Time of Update: 2016-07-21
test.php 複製代碼 代碼如下: $test = $_POST[ 'test ']; echo '12 '; echo $test; echo $_POST[ 'submit1 ']; echo $_POST[ 'submit2 ']; if (isset($_POST[ 'submit1 ']) && $_POST[ 'submit1 '] == 'submit1 ') { echo 'ok1 '; } if (isset($_POST[ 'submit2 ']) && $_POST[
Time of Update: 2016-07-21
perror 28 Error code 28: No space left on device SQL語句執行錯誤:SELECT title,gid FROM blog_blog WHERE date Error writing file 'C:\WINDOWS\TEMP\MY9B6F.tmp' (Errcode: 28) 解決方案: 1.釋放C:\WINDOWS\TEMP\空間 2.因為原表太大,所以查詢時產生的暫存資料表過大,因此出錯。
Time of Update: 2016-07-21
最近流行彩字,下面是簡單的實現方法: 一.彩字的簡單實現 複製代碼 代碼如下:header("content-type: image/png"); $text = $_get['t']; $font = 'stxingka.ttf'; //ttf字型 $fontsize = 30; $size = imagettfbbox($fontsize, 0, $font, $text); //獲得字型長寬範圍 $dx = abs($size[2]-$size[0]) +10; $dy =
Time of Update: 2016-07-21
架構工作流程: 載入架構檔案》載入參數設定對象》進行初始化設定》附加元件目設定參數》擷取控制器及控制器方法》執行控制器事件 使用執行個體為: 複製代碼 代碼如下: class DefaultController extends AppController { protected $components = array('smarty'); /** 預設事件(方法) */ public function index() { $db_test = M('members');
Time of Update: 2016-07-21
#使用者發布的html,過濾危險代碼 複製代碼 代碼如下:function uh($str) { $farr = array( "/\s+/", //過濾多餘的空白 "/]*?)>/isU", //過濾 "/(]*)on[a-zA-Z]+\s*=([^>]*>)/isU", //過濾javascript的on事件 ); $tarr = array( " ", "<\\1\\2\\3>", //如果要直接清除不安全的標籤,這裡可以留空 "\\1\\2", ); $str =
Time of Update: 2016-07-21
複製代碼 代碼如下:class UploadModel { protected $keys; protected $err = array(); protected $target; protected $exts; protected $maxSize; protected $randName; protected $files = array(); /** * 初始設定變數 */ public function __construct() { $this->exts =
Time of Update: 2016-07-21
而且, 如果輸入資料非法, 而指令碼沒有檢測, 導致abort, 也會讓你很不開心. 那? 怎麼辦呢? 呵呵, 別著急, 多進程來幫您! 那,這是為什麼呢? 優點: 1. 使用多進程, 子進程結束以後, 核心會負責回收資源 2. 使用多進程,子進程異常退出不會導致整個進程Thread退出. 父進程還有機會重建流程. 3. 一個常駐主進程, 只負責任務分發, 邏輯更清楚. Then, 怎麼做呢? 接下來, 我們使用PHP提供的POSIX和Pcntl系列函數, 來實現一個PHP命令解析器,