Time of Update: 2016-06-20
如何用php判斷一個用戶端是手機還是電腦?其實很簡單,開發人員都知道,通過瀏覽器訪問網站時,瀏覽器都會向伺服器發送UA,即User Agent(使用者代理程式)。不同瀏覽器、同一瀏覽器的不同版本、手機瀏覽器、電腦端的瀏覽器的UA都是不一樣的。我們只要寫代程式擷取這段UA,然後判斷UA是什麼,然後就可以區分出是手機還是電腦了。下面,通過PHP代碼來判斷訪客的瀏覽器UA是否為手機瀏覽器,然後自動跳轉到相應的頁面:
Time of Update: 2016-06-20
中繼資料(Metadata)編程思想源於Java這種進階語言,簡單的說就是將商務邏輯與實現代碼進行分離,僅用XML這類的描述性語言描述業務之間的映射關係,不需要寫實現代碼即完成編程。源於Java的中繼資料編程特性原資料是軟體架構方面的先進技術之一,讓你可以編寫更少的代碼實現更多的事情,將商務邏輯的重用性發揮到了極致。也許聽起來有些抽象,讓我們來看一個實際的例子來幫你理解我主張的中繼資料編程理念。Openbiz架構讓
Time of Update: 2016-06-20
在PHP開發中,很多時候我們需要對資料進行加密解密,比如有些資料需要儲存到cookie中,但又不能被使用者輕易得到這些資料,這時我們就需要加密這些資料儲存到cookie中,等我們需要使用它們的時候再解密。加密的過程如下:// 加密資料並寫到cookie裡$cookie_data = $this -> encrypt("scutephp.com", $data); $cookie = array( 'name' => '$data',
Time of Update: 2016-06-20
共用記憶體是一種在相同機器中的應用程式之間交換資料的有效方式。一個進程可建立一個可供其他進程訪問的記憶體段,只要它分配了正確的許可權。每個記憶體段擁有一個惟一的 ID(稱為 shmid),這個 ID 指向一個實體記憶體地區,其他進程可在該地區操作它。建立並提供了合適的許可權之後,同一台機器中的其他進程就可以操作這些記憶體段:讀取、寫入和刪除。這表明使用 C 語言編寫的應用程式可與使用其他語言(比如 Java 或
Time of Update: 2016-06-20
PHP讀取ACCESS資料庫執行個體代碼open($MM_Conn_STRING);//連結開啟資料來源$query="select * from dm order by id asc";$RS->open($query,$Conn,1,1);//執行語句,返回資料集echo"共有:".$RS->RecordCount."條記錄結果!";//紀錄數for ($i=0;$ifields->Count;$i++)echo $RS->fields[$i]->Name." ";//遍曆欄位名echo "
Time of Update: 2016-06-20
首先搭建PHP環境,建立個ip.php.代碼如下:再建立個index.php代碼如下:'.'';/*echo 'REMOTE_ADDR is '.$_SERVER['REMOTE_ADDR'].'';echo 'HTTP_CLIENT_IP is '.$_SERVER['HTTP_CLIENT_IP'].'';echo 'HTTP_X_FORWARDED_FOR is '.$_SERVER['HTTP_X_FORWARDED_FOR'].'';echo 'HTTP_VIA is
Time of Update: 2016-06-20
在PHP處理頁面的時候,我們對於字元集的轉換都是採用了iconv或者mb_convert等函數,但,這其實是有一個前提的。即我們事先得知道in和out是什麼樣的編碼,我們才能進行正確的轉換。雖然大多數轉換都是在gbk和utf-8之間轉,但如果不知道轉換對象的編碼怎麼辦呢?Google出來這麼一個函數safeEncoding,可以簡單的識別UTF8和GBK的編碼。這個函數在一定程度上識別的很準確,但是在一些比較複雜的環境中就不是那麼的好用了.
Time of Update: 2016-06-20
Flash和PHP互動中同步session今天在使用Uploadify和thinkphp進行多檔案上傳時遇到一個問題,在選擇上傳的檔案並自動上傳完成之後,彈出警告視窗提示“http 301”或者“http
Time of Update: 2016-06-20
php擷取flv時間!有源碼!拿來就可以使用!超級簡單。 $flv_header_frame_length) { fseek($fp, $frame_size_data_length - $flv_header_frame_length, SEEK_CUR); } $duration = 0; while ((ftell($fp) + 1) $duration) { $duration = $timestamp; } fseek($fp, $next_offset, SEEK_
Time of Update: 2016-06-20
PHP+MySQL+jQuery實現拖動並儲存拖動層位置 想拖動頁面上的層,完全可以用jQuery ui的Draggable方法來實現,那如何將拖動後層的位置儲存下來呢?本文將給出答案。本文講解了如何採用PHP+MySQL+jQuery,實現隨意拖動層並即時儲存拖動位置。 之前... 想拖動頁面上的層,完全可以用jQuery
Time of Update: 2016-06-20
PHP語言中的函數有許多種,各種應用方式不同,實現的功能也不盡相同。我們在本文種為大家總結了PHP時間戳記函數,希望能作為參考學習對象。一、PHP時間戳記函數擷取指定日期的unix時間戳記 strtotime(”2009-1-22″) 樣本如下:echo strtotime(”2009-1-22″) 結果:1232553600說明:返回2009年1月22日0點0分0秒時間戳記二、PHP時間戳記函數擷取英文文本日期時間 樣本如下:便於比較,使用date將當時間戳記與指定時間戳記轉換成系統時間(1)
Time of Update: 2016-06-20
在PHP開發中,遇到這個問題,將問題簡化下,如下:$arr = array(1,2,3,4,5,6);$n = 3;foreach($arr as $key=>$val){ if($val == $n) break;}while(list($k,$v) = each($arr)){ echo $v;}由於 each() 迴圈不會自動重設的數組指標,那麼上邊代碼執行輸出: 456但是寫在函數中結果卻不同了,如下:$arr = array(1,2,3,4,5,6);$n =
Time of Update: 2016-06-20
PHP友好時間格式化函數分享 '%s天前','DAY_HOUR'=> '%s天%s小時前','HOUR' => '%s小時','HOUR_MINUTE' => '%s小時%s分前','MINUTE' => '%s分鐘前','MINUTE_SECOND'=> '%s分鐘%s秒前','SECOND'=> '%s秒前',);/** * 友好格式化時間 * * @param int 時間 * @param array $formats * @return string */public static
Time of Update: 2016-06-20
關聯陣列是描述一組鍵及其關聯值時經常使用的一種資料類型,可以說它是所有程式設計語言的支柱,當然,PHP也不例外,實際上,關聯陣列對Web開發工作單位來說是非常重要的,PHP支援多種操作關聯陣列的方法,對開發人員來說,要從中找出最有效,最合適自己所開發程式的方法來操縱這些數組。這篇文章將介紹10個操作PHP關聯陣列的技巧,熟練運用能協助你提高開發效率。1、添加數組元素PHP是一種弱類型語言,這意味著你不需要顯示聲明一個數組及其大小,相反,你可以同時聲明並填充數組。$capitals =
Time of Update: 2016-06-20
PHP獨特的文法混合了 C、Java、Perl 以及 PHP 自創新的文法。它可以比 CGI或者Perl更快速的執行動態網頁。用PHP做出的動態網頁面與其他的程式設計語言相比,PHP是將程式嵌入到HTML文檔中去執行,執行效率比完全產生HTML標記的CGI要高許多。下面介紹了十個PHP進階應用程式技巧。1, 使用 ip2long() 和 long2ip() 函數來把 IP 位址轉化成整型儲存到資料庫裡。這種方法把儲存空間降到了接近四分之一(char(15) 的 15 個位元組對整形的 4
Time of Update: 2016-06-20
php 安裝dll 的注意事項:1.注意版本5.2 - 5.3 2.VC6 or VC9一、如何選擇PHP5.3的VC9版本和VC6版本 VC6版本是使用Visual Studio 6編譯器編譯的,如果你的PHP是用Apache來架設的,那你就選擇VC6版本。 VC9版本是使用Visual Studio 2008編譯器編譯的,如果你的PHP是用IIS來架設的,那你就選擇VC9版本。 3. Thread Safe or Non Thread Safe
Time of Update: 2016-06-20
php開發web網站程式的幾點經驗記錄以前把php當作一個純粹的系統編程指令碼,從3月份開始第一次使用php寫web網站,一點經驗在這裡總結一下。一:開啟錯誤顯示和錯誤記錄檔。在php.ini中把dispaly_errors設定為On,或者在指令碼開頭用ini_set('display_errors', 'On')。二: 調試工具必備。需要兩種調試工具:第一種是調試php指令碼的,就像C調試器那樣可以在指令碼中設定斷點,逐步執行,運行時查看變數值、修改變數值等,我用的 是xdebug +
Time of Update: 2016-06-20
關於PHP的session每次重新整理都變更的問題今早發現session儲存出現問題,傳遞不了session。看過PHP的檔案都沒有任何異常,也沒有任何報錯。 在網路上找到了一些文章,說是否php.ini檔案裡面的session.save_path沒有設定好,然後查看了一下,也沒發現有什麼問題,路徑是對的。尋找了儲存session檔案的目錄下面,發現每次重新整理都會產生一個新的session檔案,再嘗試列印session_id() ,果真如此,每次重新整理都會更新session_id()。
Time of Update: 2016-06-20
PHP批量清除utf-8檔案的bom頭"; }else{ $dirname = $basedir."/".$file; checkdir($dirname); } } } closedir($dh); } } function checkBOM ($filename) { global $auto; $contents = file_get_contents($filename);
Time of Update: 2016-06-20
靜態調用的成員一定要定義成 static (PHP5 ONLY)貼士:PHP 5 引入了靜態成員的概念,作用和 PHP 4 的函數內部靜態變數一致,但前者是作為類的成員來使用。靜態變數和 Ruby 的類變數(class variable)差不多,所有類的執行個體共用同一個靜態變數。QUOTE:// PHP CODE Highliting for CU by dZ902bar();// static wayfoo::bar();?>靜態地調用非 static 成員,效率會比靜態地調用