擷取IP地址複製代碼 代碼如下:<?phpfunction GetIP() { if ($_SERVER["HTTP_X_FORWARDED_FOR"]) $ip = $_SERVER["HTTP_X_FORWARDED_FOR"]; else if
簡單原廠模式: ①抽象基類:類中定義抽象一些方法,用以在子類中實現 ②繼承自抽象基類的子類:實現基類中的抽象方法 ③工廠類:用以執行個體化對象 看完文章再回頭來看下這張圖,效果會比較好 採用封裝方式 複製代碼 代碼如下: <?php class Calc{ /** * 計算結果 * * @param int|float $num1 * @param int|float $num2 * @param string $operator * @return int|float */
下面先給出兩個版本函數的原始碼以及簡單測試,最後我會給出一個實用性更強的字串截取函數。需要注意的是:這裡討論的字串截取問題都是針對UTF-8編碼的中文字串。 discuz版本 複製代碼 代碼如下: /** * [discuz] 基於PHP沒有安裝 mb_substr 等擴充截取字串,如果截取中文字則按2個字元計算 * @param $string 要截取的字串 * @param $length 要截取的字元數 * @param $dot 替換截掉部分的結尾字串 * @return
複製代碼 代碼如下: <?php header("Content-type: text/html; charset=utf-8"); function multiple_replace_words($word,$replace,$string,$tmp_match='#a_a#'){ preg_match_all('/'.$word.'/',$string,$matches); //匹配所有關鍵詞 $search =
看點: 1、file_get_contents逾時控制。 2、頁面編碼判斷。 3、鍵盤Enter鍵捕捉響應。 4、鍵盤event相容處理。//event = event || window.event; 5、XMLHttpRequest 和 jQuery 兩種實現方案。 6、頁面及源碼同時展示。 XMLHttpRequest版本 get_web.php 複製代碼 代碼如下: <?php header("Content-type: text/html; charset=utf-8");
很基礎的東西,感覺代碼還不夠簡潔,希望高手指導修改 複製代碼 代碼如下: <?php function BubbleSort($str){ for($i=0;$i<count($str);$i++){//從數組末尾取一個值; for ($k=count($str)-2;$k>=$i;$k--){//將這個值向前冒泡; if($str[$k+1]<$str[$k]){ //將小於符號改為大於符號,就是降序排列; $tmp=$str[$k+1];
本文將以Joomla!後台連結為例,講解如何“修改”我們的後台連結,使其更加安全。 原理:通過特定檔案為後台入口註冊session,否則失敗退出。即直接使用原後台地址將無法登入後台。這樣一來,入口檔案名稱的多樣性、可變更性將為你的後台登入提供更加安全的環境。 一、入口檔案:myadmin.php(檔案名稱可隨時更改) 作用:註冊session。源碼如下: 複製代碼 代碼如下: <?php session_name( "Zjmainstay" ); //session 名可更改,注意對應
那麼下面分享一款用php寫的擷取各搜尋蜘蛛爬行記錄代碼 支援搜尋引擎如下 可以記錄Baidu,Google,Bing,Yahoo,Soso,Sogou,Yodao爬行網站的記錄! php代碼如下 複製代碼 代碼如下: <?php function get_naps_bot() { $useragent = strtolower($_SERVER['HTTP_USER_AGENT']); if (strpos($useragent, 'googlebot') !== false){
核心代碼: 複製代碼 代碼如下: <?php /* * 計算星座的函數 string get_zodiac_sign(string month, string day) * 輸入:月份,日期 * 輸出:星座名稱或者錯誤資訊 */ function get_zodiac_sign($month, $day) { // 檢查參數有效性 if ($month < 1 || $month > 12 || $day < 1 || $day > 31) return
1 在SQL語句中可通過添加限制條件:left(text,20)只取text文本的前20個字; 2 可以用limit fromRecord, RecordNum 來作為分頁使用,比如limit 0,30表示從第一個記錄開始遍曆30個紀錄; 3 兩個表的串連可以是:table1 join table2 using x(x為兩個表的公用欄位),或者是table1 join table2 on table1.x = table2.x 4 php擷取querystring可以用$page =
最近老闆叫做一個資料查重的小練習,涉及從一個包含中文欄位的檔案中提取出其中的中文欄位並儲存,使用php開發。中間涉及到phpRegex中文匹配的問題,網上搜羅一大片,但是也很亂沒有一個準信兒,經過自己的代碼的修改和檢驗,先將extract函數寫下。首先要注意到的是,雙位元組字元的編碼問題,這裡我們以後還可能會遇到像韓文、日文等編碼問題,與中文理解上是一個意思。1. GBK (GB2312/GB18030)複製代碼 代碼如下:\x00-\xff GBK雙位元組編碼範圍
觀察者模式是設計模式中比較常見的一個模式,包含兩個或者更多的互相互動的類。這一模式允許某個類觀察另外一個類的狀態,當被觀察類的狀態發生變化時候,觀察者會進行得到通知進而更新相應狀態。php的SPL標準類庫提供了SplSubject和SplObserver介面來實現,被觀察的類叫subject,負責觀察的類叫observer。這一模式是SplSubject類維護了一個特定狀態,當這個狀態發生變化時候,它就會調用notify方法。調用notify方法時,所有之前使用attach方法註冊的SplObs
有時候在php本身沒有滿足需求的api時候,需要自己寫相應的擴充,擴充寫完之後進行編譯,即可加入自己的開發環境中,擴充php的功能。這裡實現一個連接字串和int型數的串連操作的簡單擴充。首先,下載最新的php源碼安裝包,進入ext/目錄,建立extstrcat.def:複製代碼 代碼如下:string extstrcat(string strarg, int intarg) 隨後運行:複製代碼 代碼如下:./ext_skel --extname=extstrcat
本文執行個體講述了PHP函數extension_loaded()用法。分享給大家供大家參考。具體分析如下:extension_loaded — 檢查一個擴充是否已經載入例如:複製代碼 代碼如下:<?phpif (!extension_loaded('gd')) { if (!dl('gd.so')) { exit; }}?
本文執行個體講述了php使用CURL偽造IP和來源的方法。分享給大家供大家參考。具體分析如下:偽造IP來源對於php來說是很簡單的一件事情,我們只要利用了php的curl即可實現偽造IP來源的功能,IP地址你可以隨便寫.index.php執行個體代碼如下:複製代碼 代碼如下:$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://localhost/curl.php"); curl_setopt($ch,
本文執行個體講述了php截取html字串及自動補全html標籤的方法。分享給大家供大家參考。具體分析如下:這裡總結一下關於利用php截取html字串自動補全html標籤,實際開發中會經常碰到,很多人直接先strip_tags過濾掉html標籤,但是就只剩下純文字了,可讀性非常差,下面是一個函數,代碼如下:複製代碼 代碼如下:/** * 截取HTML,並自動補全閉合 * @param $html * @param $length * @param $
本文執行個體分析了php中靜態類與靜態變數用法的區別。分享給大家供大家參考。具體分析如下:static是定義一個靜態對象或靜態變數,關於static 定義的變數或類方法有什麼特性我們看完本文章的相關執行個體後就見分曉了.1. 建立對象$object = new Class(),然後使用”->”調用:$object->attribute/function,前提是該變數/方法可訪問.2. 直接調用類方法/變數:class::attribute/function,無論是靜態/非靜態都可以,
本文執行個體講述了將FCKeditor匯入PHP+SMARTY的實現方法。分享給大家供大家參考。具體分析如下:提取Fckeditor時,採用如下,PHP用$_POST['p_info']得到FCKeditor的值.補充:1 .此處basepath 的路徑一定要和上面include的路徑一樣.否則會找不到檔案另外,對於這個輸入內容的變數,如果要把它存入資料庫教程,它的變數名為你建立對象的名字.例如上面就是 "p_info".2.
本文執行個體講述了php通過Chianz.com擷取IP地址與地區的方法。分享給大家供大家參考。具體分析如下:一個IP擷取的結果不是很完善,究其原因是因為ip138的IP解析應對國外的地址時不是很詳細,所以又重新寫了個用Chianz.com的代碼,執行個體代碼如下:複製代碼 代碼如下:<!DOCTYPE html> <html lang="en"> <head>
1.使用者訪問伺服器時,利用PHP的超級全域變數$_SERVER數組中欄位['HTTP_USER_AGENT'] 擷取訪問使用者的所有資訊我訪問時的$_SERVER['HTTP_USER_AGENT'] 字串 :Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.2 (KHTML, like Gecko) Chrome/5.0.342.3 Safari/533.22.利用Regex匹配以上字串,使用者的瀏覽器