Time of Update: 2017-01-13
通過date()函數擷取時間後,發現小時時間不對,比現在的時間小8個小時,無論用H,還是用h都一樣,這個是因為當前擷取的是格林威治時間,與北京時間相差8小時。解決方案如下:1、修改php.ini設定檔開啟php.ini檔案,一般在php配置根目錄下,找到其中的 ;date.timezone,刪掉前面的分號,並改為date timezone =
Time of Update: 2017-01-13
本地PHP環境PHP5.4,安裝ecshop2.7.3後,很多地方會報如下的錯Redefining already defined constructor for class XXX檢查代碼可以發現,對應的位置是某個類的建構函式,具體寫法如下:/** * 建構函式 * * @access
Time of Update: 2017-01-13
很多微信公眾平台的自動回複程式都是 ThinkWechat.class.php 這個類開發的,今天碰到一個莫名其妙的亂碼問題,查問題發現是GB2312編碼導致,所以要修改源碼。先增加一個方法/** * 檢測是否UTF-8 * @param $str * @return bool */private function is_utf8($str){ return preg_match('//u',
Time of Update: 2017-01-13
在利用foreach語句循環圖表片URL,並通過CURL將所有圖片進行本地儲存的函數時 ,出現了只能採集到一個的問題。現將foreach和CURL結合進行多URL請求的方法進行下總如。方法1:迴圈請求$sr=array(url_1,url_2,url_3);foreach ($sr as $k=>$v) { $curlPost=$v.'?f=傳入參數'; $ch = curl_init($curlPost)
Time of Update: 2017-01-13
以百分之一的機率產生測試資料,盡量不影響正式環境效率。class XHProf { // private $XHProfPath = ‘xhprof/’; private $XHProfPath = ‘/usr/local/apache/htdocs/xhprof/’; private $applicationName =
Time of Update: 2017-01-13
用PHP函數substr截取中文字元可能會出現亂碼,主要是substr可能硬生生的將一個中文字元“鋸”成兩半。解決辦法:1、使用mbstring擴充庫的mb_substr截取就不會出現亂碼了。2、自己書寫截取函數,但效率不如用mbstring擴充庫來得高。3、如果僅是為了輸出截取的串,可用如下方式實現:substr($str, 0,
Time of Update: 2017-01-13
1.不轉意html entities一個基本的常識:所有不可信任的輸入(特別是使用者從form中提交的資料) ,輸出之前都要轉意。echo $_GET['usename'] ;這個例子有可能輸出:<script>/*更改admin密碼的指令碼或設定cookie的指令碼*/</script>這是一個明顯的安全隱患,除非你保證你的使用者都正確的輸入。如何修複 :我們需要將"< ",">","and"
Time of Update: 2017-01-13
我們先看一個例子: 代碼如下複製代碼 <?php $s=str_repeat('1',255); //產生由255個1組成的字串 $m=memory_get_usage(); //擷取當前佔用記憶體 unset($s); $mm=memory_get_usage(); //unset()後再查看當前佔用記憶體 echo $m-$mm; ?>
Time of Update: 2017-01-13
例子1 代碼如下複製代碼 [one.php]<?php$post_data = array ( "user" => "gongwen", "pwd" => "123456");$header_ip = array( 'CLIENT-IP:88.88.88.88',
Time of Update: 2017-01-13
問題描述:如果使用者輸入的資料在未經處理的情況下插入到一條SQL查詢語句,那麼應用將很可能遭受到SQL注入攻擊,正如下面的例子: 代碼如下 複製代碼 $unsafe_variable = $_POST['user_input']; mysql_query("INSERT INTO `table`
Time of Update: 2017-01-13
每次要使用curl的時候,總要查一堆資料。現在將常用的幾句儲存下來,省的每次都去Google。常規curl請求: 代碼如下複製代碼 $url = 'http://www.111cn.net';$curl = curl_init();curl_setopt($curl, CURLOPT_URL, $url);curl_setopt($curl, CURLOPT_HEADER, 1);curl_setopt($curl, CURLOPT_RETURNTRANSFER,
Time of Update: 2017-01-13
最近需要用的socket,服務端需要在命令列下運行,怎麼樣在命令列下運行php檔案呢?window 7解決方案,XP沒試,不過想來也是同理,差不了多少1、你的php.exe檔案的路徑,比如d:\php5.3\2、開啟電腦右鍵 > 屬性 > 進階系統設定 > 進階 >
Time of Update: 2017-01-13
PHP倒是內建了產生唯一id的函數:uniqid() ,它是基於目前時間微秒數的,用法如下: 代碼如下複製代碼 echo uniqid(); //13位的字串 echo uniqid("php_"); //當然你可以加上首碼 echo uniqid("php_", TRUE); //如果第二個參數more_entropy為true則產生23位
Time of Update: 2017-01-13
在PHP裡,我們要清除變數當中的空格,先來看下面的這一種方法: 代碼如下複製代碼 $arr = explode(" ",$a);foreach ($arr as $value){$result.=$value;}echo "去除空白後:".$result; 另外還有一種方法如下: 代碼如下複製代碼 $str=str_replace(" ","",$str);$str=str_
Time of Update: 2017-01-13
建立指令碼檔案 form_login.php<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta
Time of Update: 2017-01-13
linux需開啟zlib。下面是具體的開啟方法 1. 下載安裝zlibhttp://www.gzip.org/zlib/解壓tar包,進入目錄執行命令:./configure && make && make install 2. 添加php擴充,命令如下:[root@Ansen zlib]# pwd /root/lnmp/php-5.3.0/ext/zlib #php源碼包目錄[root@Ansen zlib]#mv config0.m4
Time of Update: 2017-01-13
在設計的 php 產生靜態頁面中,靜態頁面越來越多,在不斷的執行產生 html 的過程中,效率越來越慢,所以最佳化 php 語句就變得刻不容緩了,先檢查了自己之前寫的 php 產生 html 的程式,原來就是直接的迴圈,沒有附加任何的最佳化,先看一下夏日部落格之前的 PHP 迴圈語句:$stat = time(); for($i=1;$i<=10000;$i++){
Time of Update: 2017-01-13
修複了一個擷取控制器名稱方法的bug控制器的名稱都是使用act結尾,使用過程中要刪除act。1。原來的方法//使用替換act的方法擷取控制器名稱,很顯然當控制器的名稱出現act三個字元的時候都會被替換掉產生bug$actName = str_replace( 'act', '', 'ad_client_contactact');控制器名稱
Time of Update: 2017-01-13
最近在做微信公眾平台開發,一口氣寫了二十幾個功能,挺有意思的~ 今天來分享一下開發經驗~微信公眾平台提供的介面很簡單,先看看訊息互動流程: 說的通俗一些,使用者使用微信發送訊息 -> 微信將資料發送給開發人員 -> 開發人員處理訊息並返回資料至微信 -> 微信把返回資料發送給使用者,期間資料互動通過XML完成,就這麼簡單。 下面寫個執行個體,開發微信智能聊天機器人: 1.
Time of Update: 2017-01-13
php內設的刪除空白的函數!感覺不怎麼的好使用。找了網上的代碼。非常的好使用。查看源碼的時候所有空白都是去除的。使用方法很簡單。直接使用寫入要替換的變數就OK了。 <?phpfunction trimall($str)//刪除空格 { $qian=array("