Time of Update: 2016-07-29
複製代碼 代碼如下:/* 11 content1 2009-10-11 title2 content2 2009-11-11 */ if(!function_exists('l')) { function l() { echo '***********************************'; } } if(file_exists('test10_12.xml')) { $xml = simplexml_load_file('test10_12.xml');
Time of Update: 2016-07-29
基於Regex替換的模板引擎很容易遇上Regex最大回溯/遞迴的限制。 惰性匹配並不可怕,正常情況下模板並不會不夠用,往往不會超出限制,discuz的模板引擎就大量使用了。但是因此而不去注意、不去學習,則容易書寫錯誤並遇上問題。 當preg_*返回的是null的時候則要注意了,判斷函數是is_null. 出錯並不可怕,但是最好把錯誤都完整的輸出,這樣調試就很容易了。 除了輸出出錯原因,還要輸出匹配的文本和使用的正則,這樣就很容易調試了。 PHP代碼 複製代碼 代碼如下:if (is_null($
Time of Update: 2016-07-29
複製代碼 代碼如下:function get_word($string, $length, $dot = '..',$charset='gbk') { if(strlen($string) return $string; } $string = str_replace(array(' ',' ', '&', '"', ''), array('','','&', '"', ''), $string); $strcut = ''; if(strtolower($charset) == 'utf-8'
Time of Update: 2016-07-29
ieFirefoxid尾碼名php識別出的檔案類型0gifimage/gif1jpgimage/jpeg2pngimage/png3bmpimage/bmp4psdapplication/octet-stream5icoimage/x-icon6rarapplication/octet-stream7zipapplication/zip87zapplication/octet-stream9exeapplication/octet-stream10avivideo/avi11rmvbapplic
Time of Update: 2016-07-29
只有一個php_pdo_odbc.dll。 so~最新最好的php串連mssql方法應該是這樣: 複製代碼 代碼如下:$cnx = new PDO("odbc:Driver={SQL Server};Server=127.0.0.1;Database=test;",'sa','asd123'); var_dump($cnx); $a = $cnx->query("SELECT * FROM [user]"); var_dump($a); foreach ($a as $b) {
Time of Update: 2016-07-29
先明確我所指的PHP工程題,是指畢業工作後,主要以PHP進行WEB系統的開發,沒有使用其的語言工作過。工作經驗大概在3~4年,普通的WEB系統(百萬級訪問,千成級資料以內或商務邏輯不是特別複雜)開發起基本得心應手,沒有什麼問題。但他們會這樣的物點: 除了PHP不使用其它的語言,可能會點shell 指令碼。 對PHP的掌握不精(很多PHP手冊都沒有看完,庫除外) 知識面比較窄(面對需求,除開使用PHP和mysql ,不知道其它的解決辦法) PHP代碼以過程為主,認為物件導向的實現太繞,看不懂
Time of Update: 2016-07-29
複製代碼 代碼如下://post.php function Post($host,$port) { //$host="127.0.0.1"; //建立串連 $conn = fsockopen($host,$port); if (!$conn) { die("Con error"); } //迴圈發送5次資料 // for($i = 0;$i{ $data="user_name=admin".$i; WriteData($conn,$host,$data); echo $i.""; }
Time of Update: 2016-07-29
複製代碼 代碼如下:$arrF = array(); $arrS = array(); $intTotal = 100; $intRand = 10; for($i=0; $i { $arrF[] = rand(1, $intRand); $arrS[] = rand(1, $intRand); } $arrT = array_merge($arrF, $arrS); $arrRF = array(); $intStart = time(); foreach($arrT as $v) { if(
Time of Update: 2016-07-29
PHP的一個有效變數名由字母或者底線開頭,後面跟上任意數量的字母,數字,或者底線。按照正常的Regex,它將被表述為:'[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'。 注: 在此所說的字母是 a-z,A-Z,以及 ASCII 字元從 127 到 255(0x7f-0xff)。 複製代碼 代碼如下:$var = 'Bob'; $Var = 'Joe'; echo "$var, $Var"; // 輸出 "Bob, Joe" $4site = 'not yet'
Time of Update: 2016-07-29
複製代碼 代碼如下:$zongzi = "asdfasdf(asdfasdf?asfdadsf)"; echo $zongzi = quotemeta($zongzi); echo ""; $zongzi = stripslashes($zongzi); echo $zongzi; ?> PHP quotemeta() 函數 定義和用法 quotemeta() 函數在字串中某些預定義的字元前添加反斜線。 這些預定義字元是: 句號 (.) 反斜線 (\) 加號 (+) 星號 (*) 問號 (?)
Time of Update: 2016-07-29
1. preg_replace() $msg = preg_replace("/和中間的部分 $msg = preg_replace("/]+>/", "", $msg); -----是刪除<>和中間的內容 i (PCRE_CASELESS) 如果設定此修正符,模式中的字元將同時匹配大小寫字母。 s (PCRE_DOTALL) 如果設定了此修正符,模式中的圓點元字元(.)匹配所有的字元,包括分行符號。沒有此設定的話,則不包括分行符號。這和 Perl 的 /s 修正符是等效的。排除字元類例如 [^
Time of Update: 2016-07-29
max_user_connections 是 MySQL 使用者串連數的最大值設定,整段語句的意思是:伺服器的 MySQL 的最大串連數參數設定不足。解決方案:修改 MySQL 安裝目錄下 my.ini 或者 my.cnf 檔案內的 max_user_connections 參數的數值,重啟 MySQL 伺服器。
Time of Update: 2016-07-29
複製代碼 代碼如下:/*函數array_push():將一個或多個單元壓入數組的末尾(入棧) * 1、文法:int array_push ( array &array, mixed var [, mixed ...] ) * 2、描述:將 array 當成一個棧,並將傳入的變數壓入 array 的末尾。array 的長度將根據入棧變數的數目增加。 * 3、注意事項: * 3.1、該函數返回數組新的元素的總數 *
Time of Update: 2016-07-29
1.字串的定義與顯示 定義:通過””,''來標誌 顯示:echo()和print(),但print()具有傳回值值,1,而echo()沒有,但echo比print()要快,print()能用在複合陳述式中。 2.字串的格式化 printf(string $format[,mixed$args]) 第一參數是格式字串,$args是要替換進來的值,prinf(“%d”,$num); 說明,如果想列印一個”%”,必須用”%”,浮點數f,八進位用”0” 3.常用的字串函數 1.計算字串的長度
Time of Update: 2016-07-29
今天一個網友在群裡發了個題目不難,但是可能會錯 複製代碼 代碼如下:echo $a == 1 ? 'one' : $a == 2 ? 'two' : $a == 3 ? 'three' : $a == 4 ? 'foura' : 'other'; echo "\n"; 輸出結果是: 結果是:four 一開始想不明白,按照我的理解,應該是這樣的邏輯: echo ($a == 1 ? 'one' : ( $a == 2 ? 'two' : ( $a == 3 ? 'three' : ($a ==
Time of Update: 2016-07-29
1.include_path的意義 當時候函數include(),require(),fopen_with_path()函數來尋找檔案時候.在不設定include_path的情況下,這些函數開啟檔案時候預設的是以web根目錄去尋找.當設定include_path以後,這些php函數就會先在指定的include_path目錄下面去搜尋尋找.
Time of Update: 2016-07-29
複製代碼 代碼如下:$mimetypes = array( 'ez' => 'application/andrew-inset', 'hqx' => 'application/mac-binhex40', 'cpt' => 'application/mac-compactpro', 'doc' => 'application/msword', 'bin' => 'application/octet-stream', 'dms' => 'application/octet-stream',
Time of Update: 2016-07-29
複製代碼 代碼如下:/** * 建造者模式 * * 將一個複雜物件的構建與它的表示分離,使用同樣的構建過程可以建立不同的表示 */ class Product { public $_type = null; public $_size = null; public $_color = null; public function setType($type) { echo "set product type"; $this->_type = $type; } public function
Time of Update: 2016-07-29
複製代碼 代碼如下:/*template.class.php @康盛微博 模板提取類 覺得這個模板好用 花些時間獨立出來。 by 雷日錦 @看了一下ctt 這個模板 跟 phpcms的模板類似 難道?? ^_^ 嘿嘿!!! @ 微博 http://weibo.com/lrjxgl @ 好東西大家共用 磕磕絆絆的提取出來 有問題請提出來 @ 模板檔案預設為 .htm $tpl = new template('skin',"default"); $tpl->objdir='tpp';
Time of Update: 2016-07-29
使用mvc開發模式是為了什嗎?? MVC是一個設計模式,它強制性的使應用程式的輸入、處理和輸出分開。使用MVC應用程式被分成三個核心組件:模型、視圖、控制器。它們各自處理自己的任務。 我們有必要嚴格區分mvc的三層模式模式嗎? m與c的跨界使用更有利於快速開發。 在我使用的架構中 m與c可以跨界使用,並不嚴格區分。有時候很想直接在c裡處理m的事,因為業務的資料處理並不多見,也許只有一次。 這樣在m裡面寫個函數, 再用c調用,變得複雜,這與php快速開發理念相悖。 我們需要的什嗎? 1.視圖分離