Time of Update: 2016-07-21
1、Cookie和Session簡介與區別在非常多時候,我們需要跟蹤瀏覽者在整個網站的活動,對他們身份進行自動或半自動的識別(也就是平時常說的網站登陸之類的功能),這時候,我們常採用Cookie與 Session來跟蹤和判斷。區別Session資訊是存放在server端,但session id是存放在client cookie的,當然php的session存放方法是多樣化的,這樣就算禁用cookie一樣可以跟蹤Cookie是完全保持在用戶端的如:IE firefox
Time of Update: 2016-07-21
代碼複製代碼 代碼如下:$front = Zend_Controller_Front::getInstance(); Zend_Layout::startMvc(array('layoutPath' => USVN_LAYOUTS_DIR)); $front->setRequest(new USVN_Controller_Request_Http()); $front->throwExceptions(true); $front->setBaseUrl($config->url->base);
Time of Update: 2016-07-21
1、定義常量: 複製代碼 代碼如下: //1 define("TAX_RATE",0.08); echo TAX_RATE; //輸出0.08 //2 (PHP 5.3) const TAX_RATE2 =0.01; echo '--'.TAX_RATE2; //輸出0.01 ?> 2、require 和require_once 區別: 前者遇到即包含檔案,後者會判斷是否已經包含過了,如果包含過了,則不再包含檔案。一可以節省資源,二可以避免重複定義的錯誤。 3、include
Time of Update: 2016-07-21
如何產生驗證碼圖片?使用php的GD? ok,right。其實Zend的Captcha模組已經封裝好了。這篇文章就說一下如何使用Zend的Captcha模組。環境安裝首先Zend的Captcha需要安裝GD。查看有沒有安裝GD需要去phpinfo()中看是否有GD模組。(注意,有可能出現php -m裡面的模組有gd但phpInfo()裡面的模組沒有gd,這個問題是說明你的PHP和Apache沒有安裝對。具體請去google之)(如果在安裝gd的過程中提示Missing Dependency:
Time of Update: 2016-07-21
根據前兩篇的博文:基於curl資料擷取之單頁面採集函數get_html的使用基於curl資料擷取之單頁面並行採集函數get_htmls的使用
Time of Update: 2016-07-21
靜態調用非靜態方法!!這在java,c#中是不可想象的,也是絕對不行的。這樣的錯誤在這些語言中會在編譯階段就被指出錯誤的。但是對於php這樣的動態語言呢?首先這個是文法沒有錯誤的,php –l 找不出錯誤來的。如果運行呢?先看一個例子複製代碼 代碼如下:class myClass { private $name = "myClass"; public function echoName(){ echo $this->name; } public
Time of Update: 2016-07-21
用第一篇的get_html()實現簡單的資料擷取,由於是一個一個執行才採集資料的傳輸時間就會是所有頁面下載的總時間長度,一個頁面假設1秒,那麼10個頁面就是10秒了。所幸curl還提供了平行處理的功能。要寫一個並行採集的函數,先要瞭解要採集什麼樣的頁面,對採集的頁面用什麼請求,才能寫出一個相對常用的函數。 功能需求分析:返回什嗎? 當然每一個頁面的html集合成的數組傳遞什麼參數?
Time of Update: 2016-07-21
mysql中分頁查詢有兩種方式, 一種是使用COUNT(*)的方式,具體代碼如下 複製代碼 代碼如下:SELECT COUNT(*) FROM foo WHERE b = 1; SELECT a FROM foo WHERE b = 1 LIMIT 100,10; 另外一種是使用SQL_CALC_FOUND_ROWS 複製代碼 代碼如下:SELECT SQL_CALC_FOUND_ROWS a FROM foo WHERE b = 1 LIMIT 100, 10; SELECT
Time of Update: 2016-07-21
這是一個系列 沒辦法在一兩天寫完 所以一篇一篇的發布大致大綱:1.curl資料擷取系列之單頁面採集函數get_html2.curl資料擷取系列之多頁面並行採集函數get_htmls3.curl資料擷取系列之正則處理函數get _matches4.curl資料擷取系列之代碼分離5.curl資料擷取系列之並行邏輯控制函數web_spider單頁面採集在資料擷取過程中是最常用的一個功能 有時在伺服器訪問限制的情況下 只能使用這種採集方式 慢 但是可以簡單的控制
Time of Update: 2016-07-21
一切源於一個實驗,請看下面的例子:表:複製代碼 代碼如下:CREATE TABLE IF NOT EXISTS `foo` ( `a` int(10) unsigned NOT NULL AUTO_INCREMENT, `b` int(10) unsigned NOT NULL, `c` varchar(100) NOT NULL, PRIMARY KEY (`a`), KEY `bar` (`b`,`a`) ) ENGINE=InnoDB; CREATE TABLE IF NOT
Time of Update: 2016-07-21
一,適用情境:無法使用從資料庫中返回的自增長數字,給上傳圖片重新命名。這是圖片或檔案上傳的流程決定的。一般圖片上傳處理過程是,先上傳圖片到伺服器,重新命名之後,插入到資料庫。也就是說,在資料庫中非常容易獲得的自增長id,無法用於給上傳的圖片重新命名,來避免檔案名稱的重複,而採用從資料庫中擷取最大id加1的方式,增加了資料庫連接的次數,不適用於高並發和資料量巨大的情況;二,常規方案:1,guid:32 字元十六進位數。格式:GUID
Time of Update: 2016-07-21
如果使用者輸入的是直接插入到一個SQL語句中的查詢,應用程式會很容易受到SQL注入,例如下面的例子:複製代碼 代碼如下:$unsafe_variable = $_POST['user_input'];mysql_query("INSERT INTO table (column) VALUES ('" . $unsafe_variable . "')");這是因為使用者可以輸入類似VALUE"); DROP TABLE表; - ,使查詢變成:複製代碼 代碼如下:INSERT INTO table
Time of Update: 2016-07-21
使用說明先看手冊上 levenshtein() 函數的說明:levenshtein() 函數返回兩個字串之間的 Levenshtein 距離。Levenshtein 距離,又稱編輯距離,指的是兩個字串之間,由一個轉換成另一個所需的最少編輯操作次數。許可的編輯操作包括將一個字元替換成另一個字元,插入一個字元,刪除一個字元。例如把 kitten 轉換為 sitting:sitten (k→s)sittin (e→i)sitting (→g)levenshtein()
Time of Update: 2016-07-21
一開始,我想在重寫規則裡直接禁止php尾碼的URL被訪問。但後來發現重寫規則是遞迴調用的,如果在重寫規則裡直接禁止php,那麼重寫到php檔案的規則也會失效。RewriteEngineOn複製代碼 代碼如下: RewriteRule^test$/test.php[L] RewriteRule^test.php$$0[F,L] 遞迴調用這真可怕,一開始訪問/test的時候URL重寫檢查一次,然後匹配到^test$就內部重新導向到/test.php,然而內部重新導向也會觸發URL重寫,
Time of Update: 2016-07-21
PHP作為開發動態網頁面WEB的首選技術,對於它的基礎知識我們一定要牢記,這讓才能有助於編程。我們一起來看看PHP遞迴演算法是怎麼回事吧。1、調用子程式的含義:當主程式執行到調用子程式A語句時,系統儲存一些必要的現場資料,然後執行類似於BASIC語言的GOTO語句,跳轉到子程式A(為了說得簡單些,我這裡忽略了參數傳遞這個過程)。當子程式A執行到調用子程式B語句時,系統作法如上,跳轉到子程式B。子程式B執行完所有語句後,跳回子程式A調用子程式B語句的下一條語句(我這又忽略了傳回值處理)子程式A執行
Time of Update: 2016-07-21
分享2種PHP的源碼加密方式,此加密方法支援任意PHP版。注意,加密後的PHP代碼無需第三方工具解密,像往常一樣,直接運行即可。複製代碼 代碼如下: function encode_file_contents($filename) { $type=strtolower(substr(strrchr($filename,'.'),1)); if ('php' == $type && is_file($filename) && is_writable($filename))
Time of Update: 2016-07-21
介紹 PHP是一門非常令人驚奇的語言。它足夠強大(最大的部落格(wordpress)的核心語言),它足夠廣泛(運行在最大社交網站facebook上),它足夠簡單(作為初學者首選入門語言)。在低成本的機器上運行良好。而且php語言有很多非常不錯的伺服器套件(如WAMP和MAMP),很方便的安裝在你的機器上。PHP有非常豐富的庫資源,便於開發人員很容易的處理一些業務。由於我們在項目中與日期接觸最多,所以今天就從日期函數入手學習。舉一個簡單的date例子
Time of Update: 2016-07-21
一、Smarty簡明教程 1.安裝示範 下載最新版本的Smarty-3.1.12,然後解壓下載的檔案。接下來示範Smarty內建的demo例子。 (1)下載地址:http://www.smarty.net/download (2)在你的WEB伺服器根目錄下建立新目錄,這裡我在/var/www下建立yqting/目錄,然後將解壓之後的目錄中的demo/和libs/目錄複寫到/var/www/yqting/目錄下。 (3)這裡要特別注意demo/目錄下cache/和template_c/兩個目錄,
Time of Update: 2016-07-21
複製代碼 代碼如下:function getarray_postgresql($arraystr) { $regx1 = '/^{(.*)}$/'; $regx2 = "/\"((\\\\\\\\|\\\\\"|[^\"])+)\"|[^,]+/"; $regx3 = '/^[^"].*$|^"(.*)"$/'; $match = null; preg_match( $regx1,$arraystr,$match); $str = $match[1
Time of Update: 2016-07-21
接著上面的一篇把代碼貼上來複製代碼 代碼如下:$front = Zend_Controller_Front::getInstance(); Zend_Layout::startMvc(array('layoutPath' => USVN_LAYOUTS_DIR)); $front->setRequest(new Zend_Controller_Request_Http()); $front->throwExceptions(true);