Time of Update: 2016-06-20
單點登入 Ucenter 原理分析首先我們先來瞭解下 Ucenter登入步驟1、使用者登入discuz,通過logging.php檔案中的函數uc_user_login對post過來的資料進行驗證,也就是對username和password進行驗證。2、如果驗證成功,將調用位於uc_client下client.php檔案中的函數uc_user_synlogin,在這個函數中調用 uc_api_post('user', 'synlogin', array('
Time of Update: 2016-06-20
php curl_multi_exec()並發抓取網頁內容php是個單線程的語言,於是在某方面速率比不上java這種多線程的語言,畢竟主打方面不在這裡..但是php也有自己的多線程(其實是並發)方法--curl_multi_exec().我們可以用curll來擷取網頁的內容(不懂curl的可以找個簡單的例子來看看),但是若是同時擷取多個網頁的內容,速度就不太理想,這個時候curl_multi_exec()就可以發揮作用了。下面是我在抓取優酷網內容的例子:function
Time of Update: 2016-06-20
現在很多網站將時間的顯示都變得比較人性化,例如:某某6秒之前發表,某某在1分鐘之前執行過 XX 動作等等。最近在做相關的東西於是乎也順便自己寫了一個,較為簡單,僅供參考。/**function:顯示某一個時間相當於目前時間在多少秒前,多少分鐘前,多少小時前*timeInt:unix time時間戳記*format:時間顯示格式*/function timeFormat($timeInt,$format='Y-m-d H:i:s'){if(empty($timeInt)||!is_numeric(
Time of Update: 2016-06-20
Php對python模組的調用如何用PHP調用外部的程式?下面是操作步驟:環境:windows XP, php5.3, python2.6.61.安裝 python ( http://www.python.org/ftp/python/2.6.6/python-2.6.6.msi)2. 將python.exe 所在目錄 加入系統變數 我的是 F:\Python26如果配置成功, 在 DOS模式下 鍵入 python 會進入python命令列模式:3.php 的安裝
Time of Update: 2016-06-20
這篇文章主要介紹了PHP中exec與system用法區別分析,有助於深入掌握PHP程式設計,需要的朋友可以參考下本文執行個體講述了PHP中exec與system用法區別,分享給大家供大家參考之用。具體方法如下:一般來說,在PHP中調用外部命令,可以用exec及system來實現:system()原型:string system (string command [, int
Time of Update: 2016-06-20
Adaptive Images是一個PHP編寫的工具,它可將映像傳輸到小型行動裝置上。應用嵌入式解決方案會根據裝置螢幕大小 自動建立、捕捉、傳輸圖片,而不需要額外改動映像。使用方法一、在圖片檔案夾建立.htaccess檔案 Options +FollowSymlinks RewriteEngine On # Adaptive-Images -------------------------------------------------------------------------------
Time of Update: 2016-06-20
如何在PHP代碼中執行Python,我們一般是通過php的exec或者system來執行命令。其實還可以通過socket通訊調用python。可以參考這裡,http://code.google.com/p/ppython/https://github.com/GoldenAges/ppython其實思路是很簡單的。這個簡單的ppython可以讓PHP調用Python代碼,誘惑力還是相當的大的,用作者的話來說是結合使用PHP和Python兩種語言,取其所長、補其所短,面向企業WEB領域的開發技術。
Time of Update: 2016-06-20
常用PHPRegex整理1.一般字元由所有那些未顯式指定為元字元的列印和非列印字元組成。這包括所有的大寫和小寫字母字元(a-z),所有數字(o-9),所有標點符號以及一些符號。2 非列印字元字元含義\cx匹配由x指明的控制字元。例如, \cM 匹配一個 Control-M 或斷行符號符。x 的值必須為 A-Z 或 a-z 之一。否則,將 c 視為一個原義的 ‘c’ 字元。\f匹配一個換頁符。等價於 \x0c 和 \cL。\n匹配一個分行符號。等價於 \x0a 和 \cJ。
Time of Update: 2016-06-20
用PHP寫一個完美GIF圖片等比縮放類,附帶去除縮放黑背景這裡沒有判斷檔案類型,因為png和jpeg縮放後都不會出現黑色背景,就單獨gif不行.查了下資料發現了一個完美的解決辦法,附帶有詳解...現在寫東西都喜歡封裝成類.....大家調用一下就行了..我就不說怎麼調用了效果如下:o_img_file=$oldfile; $this->o_img_width=$width; $this->o_img_height=$height;
Time of Update: 2016-06-20
這篇文章主要介紹了php可產生縮圖的檔案上傳類,給出了完整的類檔案代碼及其相應的用法樣本,非常具有實用價值,需要的朋友可以參考下本文執行個體講述了php可產生縮圖的檔案上傳類及其用法。分享給大家供大家參考。具體實現方法如下:類檔案調用方法如下:set_dir(dirname(__FILE__).'/upload/','{y}/{m}'); $up->set_thumb(100,80);
Time of Update: 2016-06-20
在PHP程式中,很多時候都會遇到處理時間的問題,比如:判斷使用者線上了多長時間,共登入了多少天,兩個文章發布的時間差或者是不同操作之間的日誌記錄等等。在文章中,簡單地舉例介紹了PHP中如何計算兩個日期相差 年、月、日。 strtotime($date2)) { $ymd = $date2; $date2 = $date1; $date1 = $ymd; } list($y1, $m1, $d1) = explode('-',
Time of Update: 2016-06-20
php統計數組中相同元素個數的方法關聯陣列一般不能進行分組統計,可以通過array_values()函數對數組元素進行分組統計!$arr = array('a'=>'java','b'=>'php','c'=>'java',);$arr = array_values($arr); //返回數組所有的值,並建立數字索引$arr1 = array(); foreach ($arr as $a){if (
Time of Update: 2016-06-20
PHP 設計模式之原型模式“原型模式其實就是從一個對象再建立另外一個可定製的對象,而且不需知道任何建立的細節。”我們來看看基本的原型模式代碼。_id = $id; } public function getID() { return $this->_id; } public function __clone() { // magic function $this->_id +=1; }
Time of Update: 2016-06-20
徹底解決PHP Session不到期以及SessionId保持不變的問題用過asp.net裡面的session再用過php裡面的session,你會覺得php 的session相比asp.net裡面的session是如此的不爽。在用php的session,你可能會遇到session不失效,關掉瀏覽器session還存在,重新開啟瀏覽器sessionid還和以前一樣等問題。。。 下面我們就來看下php的session機制: session 回收機制: PHP採用Garbage
Time of Update: 2016-06-20
有兩個已知時間戳記。判斷該時間戳記內是否包含周六周天。/***判斷時間段是否有周末。* @author * @version 2015年10月10日17:36:27* @param begin 開始時間* @param last 結束時間*/public function isWeek($begin,$last){ $span = intval($last-$begin); if($span >= 604800){ return 1; }else if($span > 0
Time of Update: 2016-06-20
PHP程式效能剖析(使用 xdebug 和 webgrind)PHP 程式上線前我們一般需要做一個效能剖析,看看程式花費的時間到底在哪裡。一個最簡單的方法是使用 XDebug 的 profile 功能。XDebug 可以配置對相應PHP程式執行輸出 cachegrind 格式的檔案,我們之後用 分析軟體去分析這個輸出檔案,就可以看到效能的結果了。首先:配置 XDebugzend_extension=/usr/lib/php5/20090626+lfs/xdebug.so
Time of Update: 2016-06-20
判斷字串是utf-8 還是gb2312函數/*** 判斷字串是utf-8 還是gb2312* @param unknown $str* @param string $default* @return string*/function utf8_gb2312($str, $default = 'gb2312'){ $str = preg_replace("/[\x01-\x7F]+/", "", $str); if (empty($str)) return $default;
Time of Update: 2016-06-20
網頁的緩衝是由HTTP訊息頭中的“Cache-control”來控制的,常見的取值有private、no-cache、max-age、must-revalidate等,預設為private。其作用根據不同的重新瀏覽方式分為以下幾種情況:(1) 開啟新視窗值為private、no-cache、must-revalidate,那麼開啟新視窗訪問時都會重新訪問伺服器。而如果指定了max-age值,那麼在此值內的時間裡就不會重新訪問伺服器,例如:Cache-control:
Time of Update: 2016-06-20
PHP代碼utf-8中文截取函數,單位元組截模數式/*** utf-8中文截取,單位元組截模數式** @access public* @param string $str 需要截取的字串* @param int $slen 截取的長度* @param int $startdd 開始標記處* @return string*/function cn_substr_utf8($str, $length, $start=0) {if(strlen($str)
Time of Update: 2016-06-20
php在CLI模式下傳入值的幾種方法php本身是一種指令碼語言,在命令列環境中可以高效的進行一些操作,但是在CLI(命令列介面 Command Line Interface)如何傳入值呢?下面介紹本人知道的3種方法。一 . getopt (注意:PHP 4 >= 4.3.0, PHP 5) 我們建立如下檔案:test.php$opt= getopt('m:n:');// $value_m= $opt['m'];// $value_n= $opt['