Time of Update: 2017-01-13
當一個目錄下有很多檔案時,伺服器的處理效能會變低,php預設的session僅僅存放在/tmp目錄下,未進行分級,當有一定的訪問量時,就存在效能問題了。首先,修改 php.ini的 session.save_path 選項修改如下:session.save_path = “2;/tmp/session” (去掉前面分號)表示把session存放在 “/tmp/session” 目錄下,並且分成 2
Time of Update: 2017-01-13
Session主要分兩部分:一個是Session資料,該資料預設情況下是存放在伺服器的tmp檔案下的,是以檔案形式存在。另一個是標誌著Session資料的Session Id,Session ID,就是那個 Session 檔案的檔案名稱,Session ID 是隨機產生的,因此能保證唯一性和隨機性,確保 Session 的安全。一般如果沒有設定 Session 的生存周期,則 Session ID 儲存在記憶體中,關閉瀏覽器後該 ID 自動登出,重新請求該頁面後,重新註冊一個 session
Time of Update: 2017-01-13
驗證配置 代碼如下複製代碼 define("TOKEN", "xxx");//改成自己的TOKENdefine('APP_ID', 'xxxx');//改成自己的APPID define('APP_SECRET', 'xxx');//改成自己的APPSECRET$wechatObj = new wechatCallbackapiTest();if (isset($_GET['echostr'])) {
Time of Update: 2017-01-13
如果你網站空間的php.ini檔案裡的magic_quotes_gpc設成了off,那麼PHP就不會在敏感字元前加上反斜線(\\),由於表單提交的內容可能含有敏感字元,如單引號('),就導致了SQL injection的漏洞。在這種情況下,我們可以用addslashes()來解決問題,它會自動在敏感字元前添加反斜線。如何禁用 magic_quotes_gpc 和safe_mode 1,用 php.ini 設定檔全域禁用magic_quotes_gpc = Offsafe_mode = Off2,
Time of Update: 2017-01-13
PHP中將數組轉變成Json 強大的PHP已經提供了內建函數:json_encode() 和 json_decode()。很容易理解,json_encode()就是將PHP數群組轉換成Json。相反,json_decode()就是將Json轉換成PHP數組。例如: 代碼如下複製代碼 $array = array("name" => "Eric","age" => 23); echo
Time of Update: 2017-01-13
代碼如下複製代碼 /**************************** * 擷取目錄下的所有檔案 * [$dir] 檔案夾路徑 ****************************/ function deepScanDir($dir) { $
Time of Update: 2017-01-13
抽象類別(abstract class)和介面(interface)是物件導向很重要的概念,他們很相似,都是定義要實現的方法,但又有不同的使用情境,PHP的抽象類別和介面有什麼區別,看下面的樣本。介面(Interface)—— 定義行為抽象類別(Abstract Class) ——
Time of Update: 2017-01-13
在PHP中,serialize和json兩種方式對一個對象或數組進行序列化或還原序列化有什麼區別呢?假設一個對象和一個數組:$web = new stdClass;$web->site = 'tantengvip';$web->owner = 'tuntun';$web->age = 5;和$web = array();$web['site'] = 'tantengvip';$web['owner'] = 'tuntun';$web['age'] =
Time of Update: 2017-01-13
php語言本身沒有將多維陣列轉為一維數組的函數,但是我們可以自己寫一個php函數來實現將多維轉一維的功能。運用了遞迴,簡單粗暴,整個函數體9行代碼就實現了該功能,php源碼如下:$multi =
Time of Update: 2017-01-13
在WordPress中很多地方使用stdClass來定義一個對象(而通常是用數組的方式),然後使用get_object_vars來把定義的對象『轉換』成數組。如下代碼所示:PHP$tanteng = new stdClass();$tanteng->name = 'tanteng';$tanteng->email = 'xxx@qq.com'; $info = get_object_vars($tanteng);print_r($info);exit;輸出:Array (
Time of Update: 2017-01-13
引用返回手冊裡是這麼寫的:引用返回用在當想用函數找到引用應該被綁定在哪一個變數上面時。不要用返回引用來增加效能,引擎足夠聰明來自己進行最佳化。僅在有合理的技術原因時才返回引用!要返回引用當你想將函數的返回引用綁定到某個變數時,PHP允許你這麼做:function &returns_reference(){ static $someref = 0; $someref++;
Time of Update: 2017-01-13
我們提交表單的時候,不能忽視的一個限制是防止使用者重複提交表單,因為有可能使用者連續點擊了提交按鈕或者是攻擊者惡意提交資料,那麼我們在提交資料後的處理如修改或添加資料到資料庫時就會惹上麻煩。那麼如何規避這中重複提交表單的現象出現呢?我們可以從很多方面入手,首先從前端做限制。前端JavaScript在按鈕被點擊一次後禁用,即disabled,這個方法簡單的防止了多次點擊提交按鈕,但是缺點是如果使用者禁用了javascript指令碼則失效。第二,我們可以在提交後做redirect頁面重新導向,即提交
Time of Update: 2017-01-13
有時候需要偽造IP去抓取別的網站內容,最好是國內的IP,網上找了個函數,能隨機10個IP段的國內IP,我自己查了些IP資料,手動加了5段IP,一共15個IP段,這樣可以隨機很多個國內IP了,附代碼:function rand_ip(){ $ip_long = array( array('607649792', '608174079'), //36.56.0.0-36.63.255.255 array('975044608', '9772728
Time of Update: 2017-01-13
今天一個二逼朋友讓我幫忙寫個股票查詢的類,來整合到微信中,所以花了一點時間寫了一個不完整的,哈哈,如果有想玩的人,可以繼續提交代碼,讓它變得完善起來!!GitHub 地址:github.com/widuu/stock代碼如下: 代碼如下複製代碼 class stock{ /** * 股票資料介面 */
Time of Update: 2017-01-13
檔案夾檔案拷貝/複製函數如下/** * 檔案夾檔案拷貝 * * @param string $src 來源檔案夾 * @param string $dst 目的地檔案夾 * @return bool */function dir_copy($src = '', $dst&n
Time of Update: 2017-01-13
我將使用Windows系統的裝置定為PC,畢竟部落格面向中國使用者,大部分家用裝置還是用的Windows系統原理是判斷瀏覽器提交的USER AGENT 代碼如下複製代碼 <?php//擷取USER AGENT$agent = strtolower($_SERVER['HTTP_USER_AGENT']);//分析資料$is_pc = (strpos($agent, 'windows nt')) ? true : false;
Time of Update: 2017-01-13
HTML <form< 標籤的 enctype 屬性首先來瞭解什麼是 <form< 標籤的 enctype 屬性,enctype 屬性規定了在發送到伺服器之前應該如何對錶單資料進行編碼,有三種類型:屬性值 描述application/x-www-form-urlencoded 預設模式,在發送到伺服器之前,所有字元都會進行編碼(空格轉換為 “+” 加號,特殊符號轉換為 ASCII HEX
Time of Update: 2017-01-13
在php中內建的trim函數只能替換左右兩端的空格,感覺在有些情況下不怎麼好使,如果要將一個字串中所有空白字元過濾掉(空格、全形空格、換行等),那麼我們可以自己寫一個過濾函數。php學習str_replace函數都知道,可以批量替換的,所以我們可以用如下的源碼實現替換過濾一個字串所有空白字元了。php源碼參考:<?php$str = 'jkgsdgsgsdgs gsdg gsd';echo myTrim($str);function
Time of Update: 2017-01-13
pcntl中php實現多進程必須要安裝的擴充,現將擴充安裝步驟寫在下面。 一、兩種安裝方式 1、重新編譯PHP的後面configrue提示加上?enable-pcntl。2、不重新編譯php,直接編譯安裝pcntl擴充。# cd /usr/local/src/php-5.2.6/ext/pcntl# /usr/local/php/bin/phpize# ./configure ?with-php-config=/usr/loc
Time of Update: 2017-01-13
PHP 5.4起就在CLI SAPI中內建了web伺服器,這給開發人員帶來了方便。只需在項目目錄下執行php -S localhost:8001訪問連結,終端就會產生access logE:\php\test\web_server>php -S localhost:8001PHP 5.4.33 Development Server started at Sat Sep 26 12:10:01 2015Listening on http://localhost:8001Document