Time of Update: 2017-01-19
本文執行個體講述了PHP實現HTTP斷點續傳的方法。分享給大家供大家參考。具體實現方法如下:<?php/** * PHP-HTTP斷點續傳實現 * @param string $path: 檔案所在路徑 * @param string $file: 檔案名稱 * @return void */function download($path,$file) { $real = $path.'/'.$file; if(!file_exists($real)) { return
Time of Update: 2017-01-19
本文執行個體講述了php源碼分析之DZX1.5字串截斷函數cutstr用法。分享給大家供大家參考。具體分析如下:<?php /** * 函數來源DZX1.5,檔案所在 /source/function/function_core.php */define('CHARSET','UTF-8');function cutstr($string, $length, $dot="...") { if(strlen($string)<=$length) { return
Time of Update: 2017-01-19
本文執行個體講述了php源碼分析之DZX1.5加密解密函數authcode用法。分享給大家供大家參考。具體分析如下:<?php$authkey = '';/** * @param string $string: 輸入的需要加密(或解密)的明文(或密文) * @param string $operation: 'DECODE'或其它,其中預設表示解密,輸入其它表示加密 * @param string $key: 加解密密鑰 * @param int $expiry: 有效期間
Time of Update: 2017-01-19
本文執行個體講述了php源碼分析之DZX1.5隨機數函數random用法。分享給大家供大家參考。具體如下:<?php/** * @param int $length: 隨機數長度 * @param int $numeric: 0或非0,其中0表示隨機數由全數字組成,非0表示隨機數由全字母組成 * @return string: 返回產生的隨機數 */function random($length, $numeric = 0) { $seed = base_convert(md5(
Time of Update: 2017-01-19
本文執行個體講述了php正則替換處理HTML頁面的方法。分享給大家供大家參考。具體如下:<?phpif(!defined('BASEPATH')) exit('No direct script access allowed'); /** * HTML替換處理類,考慮如下幾種替換 * 1. img src : '/<img(.+?)src=([\'\" ])?(.+?)([ >]+?)/i' * 2. a href : '/<a(.+
Time of Update: 2017-01-19
本文執行個體講述了PHP排序演算法類。分享給大家供大家參考。具體如下:四種排序演算法的PHP實現:1) 插入排序(Insertion Sort)的基本思想是: 每次將一個待排序的記錄,按其關鍵字大小插入到前面已經排好序的子檔案中的適當位置,直到全部記錄插入完成為止。2) 選擇排序(Selection Sort)的基本思想是: 每一趟從待排序的記錄中選出關鍵字最小的記錄,順序放在已排好序的子檔案的最後,直到全部記錄排序完畢。3) 冒泡排序的基本思想是:
Time of Update: 2017-01-19
本文執行個體講述了PHP實現的購物車類。分享給大家供大家參考。具體分析如下:該購物車類是基於CodeIgniter的購物車類仿寫實現的。購物車準系統如下:1) 將物品加入購物車 2) 從購物車中刪除物品 3) 更新購物車物品資訊 【+1/-1】 4) 對購物車物品進行統計 1. 總項目 2. 總數量 3. 總金額 5) 對購物單項物品的數量及金額進行統計 6) 清空購物車1.
Time of Update: 2017-01-19
本文執行個體講述了php使用curl開啟https網站的方法。分享給大家供大家參考。具體實現方法如下:$url = 'https://www.google.com.hk'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch,
Time of Update: 2017-01-19
本文執行個體講述了php使用CURL不依賴COOKIEJAR擷取COOKIE的方法。分享給大家供大家參考。具體分析如下:PHP中CURL類是一個非常牛逼的工具類,具體怎麼牛逼就不囉嗦了。對於COOKIE,CURL類也有很不錯的支援,但不夠靈活,並未能通過現成的方法以變數的方法擷取到,而以要通過以下方法實現。// 把COOKIE儲存至cookie.txt curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt'); curl_setopt($ch,
Time of Update: 2017-01-19
本文執行個體講述了PHP封裝的HttpClient類。分享給大家供大家參考。具體分析如下:這是一段php封裝的HttpClient類,可實現GET POST Cookie Session等簡單的功能。原來做過,這兩天重新修改了一下。<?php /* * Filename: httpclient.php * Created on 2012-12-21 * Created by RobinTang * To change the template for this
Time of Update: 2017-01-19
首先:找出亂碼產生的原因。 一直以為是瀏覽器的原因,結果我在chrome,firefox,IE9裡面都出現了亂碼,所以瀏覽器的因素可以排除。為了驗證我猜測是Gvim的原因, 我用記事本(note)簡單寫了一個php檔案 複製代碼 代碼如下: <?php echo "你好"; echo "世界"; ?> 結果沒有出現亂碼,所以問題就出在Gvim上,這個結論水到渠成。 於是,開始研究Gvim的設定檔(_vimrc), 現在給大家看一下我產生亂碼之前的配置(註:我之前修改過):
Time of Update: 2017-01-19
線上示範地址:http://tools.jb51.net/tools/cs.php複製代碼 代碼如下:<?php function zhuanhuan() { $urlodd=explode('//',$_GET["url"],2);//把連結分成2段,//前面是第一段,後面的是第二段 $head=strtolower($urlodd[0]);//PHP對大小寫敏感,先統一轉換成小寫,不然 出現HtTp:或者ThUNDER:這種怪異的寫法不好處理 $behind=$urlodd[1];
Time of Update: 2017-01-19
沒有不可能只有不去做,哈哈 複製代碼 代碼如下: <?php set_time_limit(0); function _rand() { $length=26; $chars = "0123456789abcdefghijklmnopqrstuvwxyz"; $max = strlen($chars) - 1; mt_srand((double)microtime() * 1000000); $string = ''; for($i = 0; $i < $length; $i++)
Time of Update: 2017-01-19
我們前期開發了一個只有公司客服人員才能使用的系統——有限的幾個客服人員。就是這有限的幾個客服人員前幾天突然就提出這樣的問題:我們每隔很短一段時間 (半個小時不操作頁面),正著急解決客戶問題的時候,系統卻提示需要登入,耽誤了客戶的時間…… 這很不爽! 客戶就是上帝,唯一的上帝。於是上峰要求我們能夠實現PHP中的session永不到期,除非我們的客服人員人為的讓他到期了。出於安全性的考慮我很不理解這種永不到期的行為;出於懶惰的原因我真的不想修改以前的程式。但是沒有辦法,我依然需要改。
Time of Update: 2017-01-19
一個已知管用的方法是,使用session_set_save_handler,接管所有的session管理工作,一般是把session資訊儲存到資料庫,這樣可以通過SQL語句來刪除所有到期的session,精確地控制session的有效期間。這也是基於PHP的大型網站常用的方法。但是,一般的小型網站,似乎沒有必要這麼勞師動眾。 但是一般的Session的生命期有限,如果使用者關閉了瀏覽器,就不能儲存Session的變數了!那麼怎麼樣可以實現Session的永久生命期呢?
Time of Update: 2017-01-19
以下舉例說明break 用來跳出目前執行的迴圈,並不再繼續執行迴圈了。 複製代碼 代碼如下: <?php $i = 0; while ($i < 7) { if ($arr[$i] == "stop") { break; } $i++; } ?> continue 立即停止目前執行迴圈,並回到迴圈的條件判斷處,繼續下一個迴圈。 複製代碼 代碼如下: <?php while (list($key,$value) = each($arr)) { if ($key ==
Time of Update: 2017-01-19
1、 使用 print_r ( $array/$var ) print 是列印的意思,而r則取自Array的單詞,那麼該函數的功能就是列印數組內容,它既可以列印數組內容,也可以列印普通的變數。 print_r ($_REQUEST) ; print_r ($_GET) ; /* 列印使用GET方法傳遞的表單內容*/ print_r($_POST) ; /* 列印使用表單POST方法傳遞過的數組內容*/ 2、 使用 var_dump ($object/$array/$var) var
Time of Update: 2017-01-19
類似spl的autoload功能,bloader為php對象的autoload工具,但相比較起來更簡單高效,配置也更靈活. bloader提供一個常用的autoload函數ld,以及兩個輔助函數,ld_new(執行個體化)和ld_unset(銷毀對象). #1 bloader會自動搜尋當前檔案 或 目前的目錄下的<類名>.class.php檔案,以及通過'_MODULES'常量定義的路徑,執行個體化類返回對象. #2 可直接使用ld('類名')操作對象(見執行個體 1-1) #3
Time of Update: 2017-01-19
1. 值的析取PHP中,用list來析取數組中的值,如list($a, $b) = $array。如果list中的值多於數組個數,list中多餘的值會設為NULL。也可以用逗號來跳過數組中的值,如list($a, ,$b) = $array。2.劃分數組如果想取得子數組,可以用array_slice(array, offset,
Time of Update: 2017-01-19
PHP的數組,說白了,就是關聯資料每一條數組都是以[索引,值]的形式儲存的。其中索引預設是以0開始的數字。在未指定索引時,PHP會從0開始自動產生索引。當指定一個索引,PHP會從你指定索引最大正整數的下一個整數開始。如果你指定的是小數,PHP會取整數部分做為索引。 另外說說數組其它一些小東西: array()可以聲明一個空數組; array[] = $value 在數組存在時,追加一個資料;在數組不存時,產生一個數組,並追加資料。 array[$index] = $value 在數組存在時,