Time of Update: 2016-11-21
mail() 函數可以讓你發送郵件。為了使右鍵函數正常運行,PHP 必須在編譯時間訪問你系統裡的 sendmail 可執行檔。 如果你使用了其他郵件程式,例如 qmail 或者 postfix,請確保它們使用了與 sendmail 適配的封裝器。 PHP 首先會在你的 PATH 變數裡尋找 sendmail,然後在下面的路徑裡尋找:/usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/lib。 強烈建議 sendmail 在您的 PATH
Time of Update: 2016-11-21
SPL是用於解決典型問題(standard problems)的一組介面與類的集合。此擴充只能在php 5.0以後使用,並且從PHP 5.3.0 不再被關閉,會一直有效,成為php核心組件一部份。資料結構SPL提供了一組標準資料結構。雙向鏈表雙向鏈表 (DLL) is a list of nodes linked in both directions to each others. Iterator's operations, access to both ends, addition
Time of Update: 2016-11-21
這些都是以各種方式處理字串的函數。還有一些專門的章節位於Regex和 URL 處理部分。關於字串的運轉機制,特別是關於單引號、雙引號、逸出序列的資訊,參見字串條目。字串函數大全:addcslashes — 以 C 語言風格使用反斜線逸出字元串中的字元addslashes — 使用反斜線引用字串bin2hex — 將位元據轉換成十六進位表示chop — rtrim 的別名chr — 返回指定的字元chunk_split — 將字串分割成小塊convert_cyr_string — 將字元由一種
Time of Update: 2016-11-21
反斜線有多種用法。首先,如果緊接著是一個非字母數字字元,表明取消 該字元所代表的特殊涵義。這種將反斜線作為逸出字元的用法在字元類 內部和外部都可用。比如,如果你希望匹配一個 "*" 字元,就需要在模式中寫為 "\*"。 這適用於一個字元在不進行轉義會有特殊含義的情況下。 但是, 對於非數字字母的字元,總是在需要其進行原文匹配的時候在它前面增加一個反斜線, 來聲明它代表自己,這是安全的。如果要匹配一個反斜線,那麼在模式中使用
Time of Update: 2016-11-21
子組通過圓括弧分隔界定,並且它們可以嵌套。 將一個模式中的一部分標記為子組(子模式)主要是來做兩件事情:將可選分支局部化。比如,模式cat(arcat|erpillar|)匹配 ”cat”, “cataract”, “caterpillar” 中的一個,如果沒有圓括弧的話,它匹配的則是 ”cataract”, “erpillar” 以及Null 字元串。將子組設定為捕獲子組(向上面定義的). 當整個模式比對後, 目標字串中匹配子組的部分將會通過 pcre_exec()() 的 ovector
Time of Update: 2016-11-21
在PHP官方文檔中,曾經指出最好不要再結尾添加?>結束標記。但我們編程的習慣和使用的IDE都會為我們自動建立php結束標記?>。這個標記使用在正常情況下是不影響程式的啟動並執行。尤其在早期的php4中,這種標記使用不當也不會影響最後的輸出。但我最近遇到了php指令碼結束標記照成頁面無法顯示的問題。首先wap最終的輸出時xml檔案,如果xml檔案格式有問題,則無法顯示結果。在多次檢查輸出過程發現並沒有問題,同樣的代碼再另一台測試機上顯示也無問題。通過firebug查看,最終的輸出主
Time of Update: 2016-11-21
可以使匹配器根據一個斷言的結果, 或者之前的一個捕獲子組是否匹配來條件式的匹配一個子組或者在兩個可選子組中選擇。 條件子組的兩種文法如下:(?(condition)yes-pattern)(?(condition)yes-pattern|no-pattern)如果條件滿足,使用 yes-pattern,其他情況使用 no-pattern(如果指定了)。 如果有超過 2 個的可選子組,會產生給一個編譯期錯誤。條件一共有兩種。如果在(condition)的括弧內是數字組成的文本,
Time of Update: 2016-11-21
POSIX Regex函數ereg_replace — Regex替換ereg — Regex匹配eregi_replace — 不區分大小寫Regex替換eregi — 不區分大小寫Regex匹配split — 用Regex將字串分割到數組中spliti — 用Regex不區分大小寫將字串分割到數組中sql_regcase — 產生用於不區分大小的匹配的Regex使用樣本:<?php// Returns true if "abc" is found anywhere
Time of Update: 2016-11-21
概念觀察者模式屬於行為模式,是定義對象間的一種一對多的依賴關係,以便當一個對象的狀態發生改變時,所有依賴於它的對象都得到通知並自動重新整理。當一個對象狀態發生改變後,會影響到其他幾個對象的改變,這時候可以用觀察者模式。觀察者模式符合介面隔離原則,實現了對象之間的鬆散耦合。別名發布-訂閱<Subscribe>模式模型-視圖<View>模式源-收聽者<Listener>模式從屬者模式角色抽象主題(Subject):它把所有觀察者對象的引用儲存到一個聚集裡,每個主題
Time of Update: 2016-11-22
php 抽獎機率演算法/* * 不同機率的抽獎原理就是把0到*(比重總數)的區間分塊 * 分塊的依據是物品占整個的比重,再根據隨機數種子來產生0-* 中的某個數 * 判斷這個數是落在哪個區間上,區間對應的就是抽到的那個物品。 * 隨機數理論上是機率均等的,那麼相應的區間所含數的多少就體現了抽獎物品機率的不同。 */ function get_rand($proArr) { $result = array(); foreach ($proArr as $key => $
Time of Update: 2016-11-22
PHP 的 HTTP 認證機制僅在 PHP 以 Apache 模組方式運行時才有效,因此該功能不適用於 CGI 版本。在 Apache 模組的 PHP 指令碼中,可以用 header() 函數來向用戶端瀏覽器發送“Authentication Required”資訊,使其彈出一個使用者名稱/密碼輸入視窗。當使用者輸入使用者名稱和密碼後,包含有 URL 的 PHP 指令碼將會加上預定義變數PHP_AUTH_USER,PHP_AUTH_PW 和 AUTH_TYPE
Time of Update: 2016-11-21
一、概念Lazy Load:一個對象,它雖然不包含所需要的所有資料,但是知道怎麼擷取這些資料。消極式載入貌似很簡單,就是在資料需要時再從資料庫擷取,減少資料庫的消耗。但這其中還是有不少技巧的。二、實現消極式載入實現Lazy Load主要有四種方法:延遲初始化、虛代理、值保持器和重影。(1)延遲初始化(Lazy initialization) 1.1
Time of Update: 2016-11-21
關於PHP編程的誤區,並且進行澄清,有些誤解值得深思,而有些又實在是捕風捉影。無論怎樣,讓我們一起來看下這些誤解。1. PHP是一門物件導向語言,但不是基於OOPS 這是完全不正確的理解,尤其是Java程式員,他們認為PHP不是基於OOPS;但他們會發現許多物件導向的特徵,比如,介面、方法、抽象對象等。說實話,初始版的PHP沒有太多的物件導向功能,但PHP 5添加很多物件導向技術。更重要的是,你也許會好奇,為什麼Bootstrap代碼在PHP裡會變得那麼簡單,這個得歸功於PHP與OO的結合。2
Time of Update: 2016-11-22
PHP 透明地支援 HTTP cookie。cookie 是一種在遠程瀏覽器端儲存資料並以此來跟蹤和識別使用者的機制。可以用 setcookie() 或 setrawcookie() 函數來設定 cookie。cookie 是 HTTP 標題的一部分,因此 setcookie() 函數必須在其它資訊被輸出到瀏覽器前調用,這和對 header() 函數的限制類似。可以使用輸出緩衝函數來延遲指令碼的輸出,直到按需要設定好了所有的 cookie 或者其它 HTTP 標題。Example #1
Time of Update: 2016-11-22
會話機制(Session)在 PHP 中用於儲存並發訪問中的一些資料。這使可以協助建立更為人性化的程式,增加網站的吸引力。一個訪問者訪問你的 web 網站將被分配一個唯一的 id, 就是所謂的會話 id. 這個 id 可以儲存在使用者端的一個 cookie 中,也可以通過 URL 進行傳遞.會話支援允許你將請求中的資料儲存在超全域數組$_SESSION中. 當一個訪問者訪問你的網站,PHP 將自動檢查(如果 session.auto_start被設定為 1)或者在你要求下檢查(明確通過
Time of Update: 2016-11-21
PHP開始執行以後會經過兩個主要的階段:處理請求之前的開始階段請求之後的結束階段開始階段有兩個過程:第一個過程是模組初始化階段(MINIT), 在整個SAPI生命週期內(例如Apache啟動以後的整個生命週期內或者命令列程式整個執行過程中), 該過程只進行一次。第二個過程是模組啟用階段(RINIT),該過程發生在要求階段, 例如通過url請求某個頁面,則在每次請求之前都會進行模組啟用(RINIT請求開始)。 例如PHP註冊了一些擴充模組,則在MINIT階段會回調所有模組的MINIT函數。
Time of Update: 2016-11-21
在提問題前請先仔細查閱PHP手冊,MYSQL手冊 以及PHPINFO裡面的設定另外希望你讀一下PHP編程標準PHP手冊下載地址1:為什麼我得不到變數我在一網頁向另一網頁POST資料name,為什麼輸出$name時卻得不到任何值?在PHP4.2以後的版本中register_global預設為off若想取得從另一頁面提交的變數:方法一:在PHP.ini中找到register_global,並把它設定為on.方法二:在接收網頁最前面放上這個extract($_POST);extract($_GET)
Time of Update: 2016-11-21
本文接下來的內容講的是如何通過php實現圖片的上傳與下載構建上傳檔案前端頁面這裡我藉助bootstrap前端架構以及fontawesome表徵圖庫,內容很簡單就一個圖片上傳框以及一個提交按鈕,代碼如下:<!--form.php--><div class="container"> <form action="upload_del.php" method="post"
Time of Update: 2016-11-22
從版本 4.3.0 開始,PHP 提供了一種新類型的 CLI SAPI(Server Application Programming Interface,服務端應用編程連接埠)支援,名為 CLI,意為 Command Line Interface,即命令列介面。顧名思義,該 CLI SAPI 模組主要用作 PHP 的開發外殼應用。CLI SAPI 和其它 CLI SAPI 模組相比有很多的不同之處,我們將在本章中詳細闡述。值得一提的是,CLI 和 CGI 是不同的
Time of Update: 2016-11-21
相同之處編譯指令碼語言:Perl 和 PHP 二者都是指令碼語言。這意味著他們不用提前獨立執行生產原生可執行檔。文法:PHP 的基本文法非常接近 Perl 的,並且二者都與 C 代碼分享很多文法特性像空格、語句由分號終止和花括弧將多條語句組織成代碼塊。函數調用開始於函數名,緊隨後面的是包圍在圓括弧中並由逗號分隔的實際參數。$符號變數:所有變數在 PHP 中看起來像 Perl 標量變數:一個名稱在一個 $ 符號 ($) 的前面。沒有聲明變數:和 Perl 語言一樣,PHP