Time of Update: 2016-07-21
複製代碼 代碼如下: 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 = explode(',','/'.implode('/,/',$matches[0]).'/
Time of Update: 2016-07-21
我們的要求是,把地址欄位的中國去掉,並跟據地址欄位來設定所屬省份的(province_id) 欄位。 第一、替找字串,我們可以用mysql裡的replace 這個用法,本博也有提到。詳見:http://www.jb51.net/article/31374.htm好我們把 "中國" 這個字元給去掉。 update table set address = replace(address ,'中國','') 第二、要根據地址欄位的開頭字元並更新province_id欄位、SQL語句如下 UPDATE
Time of Update: 2016-07-21
看點: 1、file_get_contents逾時控制。 2、頁面編碼判斷。 3、鍵盤Enter鍵捕捉響應。 4、鍵盤event相容處理。//event = event || window.event; 5、XMLHttpRequest 和 jQuery 兩種實現方案。 6、頁面及源碼同時展示。 XMLHttpRequest版本 get_web.php 複製代碼 代碼如下: header("Content-type: text/html; charset=utf-8"); if(!empty($
Time of Update: 2016-07-21
本文將以Joomla!後台連結為例,講解如何“修改”我們的後台連結,使其更加安全。 原理:通過特定檔案為後台入口註冊session,否則失敗退出。即直接使用原後台地址將無法登入後台。這樣一來,入口檔案名稱的多樣性、可變更性將為你的後台登入提供更加安全的環境。 一、入口檔案:myadmin.php(檔案名稱可隨時更改) 作用:註冊session。源碼如下: 複製代碼 代碼如下: session_name( "Zjmainstay" ); //session 名可更改,注意對應
Time of Update: 2016-07-21
一、沒有使用Proxy 伺服器的情況: REMOTE_ADDR = 您的 IP HTTP_VIA = 沒數值或不顯示 HTTP_X_FORWARDED_FOR = 沒數值或不顯示 二、使用透明Proxy 伺服器的情況:Transparent Proxies REMOTE_ADDR = 最後一個Proxy 伺服器 IP HTTP_VIA = Proxy 伺服器 IP HTTP_X_FORWARDED_FOR = 您的真實 IP ,經過多個Proxy 伺服器時,這個值類似如下:203.98.182.
Time of Update: 2016-07-21
1.php 複製代碼 代碼如下: 2.php 複製代碼 代碼如下: 3.php 複製代碼 代碼如下: 4.php 複製代碼 代碼如下: $base1=$_REQUEST['base1']; $base2=$_REQUEST['base2']; $prcname=$_REQUEST['prcname']; $price=$_REQUEST['price']; $prcXH=$_REQUEST['prcXH']; $other1=$_REQUEST['other1']; $other2=
Time of Update: 2016-07-21
思路: 1)將長網址md5產生32位簽名串,分為4段, 每段8個位元組; 2)對這四段迴圈處理, 取8個位元組, 將他看成16進位串與0x3fffffff(30位1)與操作, 即超過30位的忽略處理; 3)這30位分成6段, 每5位的數字作為字母表的索引取得特定字元, 依次進行獲得6位字串; 4)總的md5串可以獲得4個6位串; 取裡面的任意一個就可作為這個長url的短url地址; 下面是PHP代碼: 複製代碼 代碼如下: function shorturl($url='', $prefix='
Time of Update: 2016-07-21
GBK簡體字元集的編碼是同時用1個位元組和2個位元組來表示的。當高位是0x00~0x7f時,為一個位元組,高位為0x80以上時用2個位元組表示" 注:括弧裡面都是2進位 當你發現一個位元組的內容大於0x7f,那它肯定是個(跟另外一個位元組拼湊成一個)漢字,如何判斷肯定大於0x7f呢? 0x7f(1111111)後面一個數就是0x80(10000000),所以想要大於0x7f,這個位元組的最高位都肯定是1,我們只需要判斷這個最高位是否為1就行了。 判斷方法: 位與(相同的位都是1的才為1,否則為0
Time of Update: 2016-07-21
作者Jani Hartikainen發表了一篇博文,文中將兩者進行對比,列舉了PHP優於Node.js的五大理由。一起來看下。 1. 容易託管 大多數Web託管伺服器供應商能為PHP提供託管,而對於Node,你需要找一個更專業的託管服務提供者。通常情況下,需要通過shell訪問來設定應用程式,並且大部分託管供應商不包含這些,即便是包含此功能的,其他的包要相對的廉價些。 2. PHP在伺服器上安裝更方便、簡易
Time of Update: 2016-07-21
系統不大,完成這個系統的過程我分了三個步驟 •資料庫設計 •系統架構設計 •前端美化 資料庫的設計 設計三張表:投票結果統計表(count_voting),投票人記錄表(ip_votes),使用者表(user) 投票結果統計表用於統計最後的投票記錄,我給它弄了4個欄位:被投票項的名稱(SelectName),被投票項標籤名(LabelName)(起到分類的作用),票數(CountVotes)。
Time of Update: 2016-07-21
一、autoload機制概述 在使用PHP的OO模式開發系統時,通常大家習慣上將每個類的實現都存放在一個單獨的檔案裡,這樣會很容易實現對類進行複用,同時將來維護時也很便利。這也是OO設計的基本思想之一。在PHP5之前,如果需要使用一個類,只需要直接使用include/require將其包含進來即可。 下面是一個實際的例子: 複製代碼 代碼如下: /* Person.class.php */ class Person { var $name, $age; function __construct
Time of Update: 2016-07-21
先看看php官方文檔的解釋: __set() is run when writing data to inaccessible properties. __get() is utilized for reading data from inaccessible properties. 究竟用中文怎麼翻譯呢? inaccessible :n. 難達到;難接近;無法理解。 有代碼有真相: 複製代碼 代碼如下: error_reporting(E_ALL); class stu{ private
Time of Update: 2016-07-21
PHP數組合并兩種方法及區別 如果是關聯陣列,如下: 複製代碼 代碼如下: $a = array( 'where' => 'uid=1', 'order' => 'uid', ); $b = array( 'where' => 'uid=2', 'order' => 'uid desc', ); 1. array_merge,如果兩個數組存在相同的key,後面的一個會覆蓋前面的 複製代碼 代碼如下: $c = array_merge($a, $b);
Time of Update: 2016-07-21
PHP 有一個非常簡單的垃圾收集器,它實際上將對不再位於記憶體範圍(scope)中的對象進行垃圾收集。垃圾收集的內部方式是使用一個引用計數器,因此當計數器達到 0 時(意味著對該對象的引用都不可用),對象將被當作垃圾收集並從記憶體中刪除。 每一種電腦語言都有自己的自動記憶體回收機制,讓程式員不必過分關心程式記憶體配置,php也不例外,但是在物件導向編程(OOP)編程中,有些對象需要顯式的銷毀;防止程式執行記憶體溢出。 一、PHP 記憶體回收機制(Garbage Collector 簡稱GC)
Time of Update: 2016-07-21
特別是+運算子,他的意思是,將右邊的數組單元(去重複)追加到左邊數組的後面。 複製代碼 代碼如下: echo "\r\n第一種情況\r\n"; $a=array(1,2,3,4,5,6); $b=array(7,8,9); $c=array_merge ($a,$b); print_r($c); $c=$a+$b; print_r($c); $c=$b+$a; print_r($c); echo "\r\n第二種情況\r\n"; $a=array('a','b','c','d','e','f')
Time of Update: 2016-07-21
普通的mysql串連肯定是會被拋棄的 因為每次都要防止sql注入的問題 而且相對來說比較慢 mysqli是在普通mysql的基礎上做的一次最佳化 說實話 很成功 預先處理方式完全解決了sql注入的問題 但是唯一的不足點 就是只支援mysql資料庫 當然 如果你要是不操作其他的資料庫或者 當然這無疑是最好的選擇 PDO則是最新出來的一種 串連方式 相容大部分資料庫 也解決了sql注入 但是也有缺點 它只支援php5以上的版本 不過聽說在未來的php6中 只支援這種串連
Time of Update: 2016-07-21
複製代碼 代碼如下: $count = 5; start: if($count echo "Put Password: "; $handle = fopen ("php://stdin","r"); $line = fgets($handle); if(trim($line) != '123456'){ $count--; if(!$count) goto error; goto start; } goto success; error: echo "Please try after 1
Time of Update: 2016-07-21
在網上看到一道題:array("a")+array("b")的結果是___A.array("a","b")B.array("b","a")C.array("b")D.array("a")答案:Dphp兩個數組相加,為什麼結果還是不變呢?因為,它們等效於array("0″=>"a")+array("0″=>"b"),它們的鍵名相同,前者不能被後者覆蓋,如果是array("0″=>"a")+array("0″=>"b","1″=>"c"),那麼結果等於array("0″=>"a","1″=>"c")
Time of Update: 2016-07-21
主要功能是根據貝貝的出生日期來顯示貝貝現在多大了,即時顯示貝貝的成長。 用目前時間減去出生的日期,但是可以顯示出來幾歲,幾個月,和幾天。 天的演算法有點問題,沒有考慮到大小月和2月份。 複製代碼 代碼如下: function getDays() { putenv("TZ=Asia/Chongqing"); $by = 2006; $bm = 7; $bd = 7; $rday=""; $today = getdate(); $by = $today[year] - $by; $bm =
Time of Update: 2016-07-21
SESSION與COOKIE區別: Session 將資訊儲存在伺服器上.伺服器在接受到唯一的SESSION_ID後,根據這個ID擷取相關資料,然後將資訊傳遞到用戶端(瀏覽器). Cookie 是將所有資訊以文本的形式存在本地檔案,並由用戶端(瀏覽器)進行管理與維護. 因為Session 資料存放區在server端,所以遠程client無法對資料進行修改;而Cookie儲存在client本地,容易被擷取和篡改.所以Session安全性較高. SESSION 介紹: PHP5