Time of Update: 2016-11-22
1、通過 $_SERVER['HTTP_USER_AGENT'] 來寫一個php判斷瀏覽器類型的辦法。function my_get_browser(){if(empty($_SERVER['HTTP_USER_AGENT'])){return '命令列,機器人來了!';}if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 9.0')){return
Time of Update: 2016-11-23
我用內建的MySQL函數和mysqli類操作資料庫沒什麼問題,並且在設定檔中把extension=php_pdo.dll和extension=php_pdo_sqlite.dll前面的分號去掉了(我用的是AppServ,設定檔中只有以上兩條語句有PDO)。為什麼還是出現“ERROR:could not find driver”。這種情況下是提示你沒有找到pdo的驅動,如下檢查1extension=php_pdo.dll這個檔案是否存在2開啟windows下的php.ini,尋找
Time of Update: 2016-11-23
很簡單的功能,用到PHP中的反射機制,具體使用的是ReflectionFunction類,可以擷取指定函數所在PHP指令碼中的具體位置。 建立引用指令碼。Php代碼 // Filename: functions.php <?php function now() { return time(); } ?> 調用函數。 Php代碼 // Filename: call_now.php <?php require 'functions.php'
Time of Update: 2016-11-23
PHP 5 添加了類似於其它語言的異常處理模組。在 PHP 代碼中所產生的異常可被 throw 語句拋出並被 catch 語句捕獲。需要進行異常處理的代碼都必須放入 try 代碼塊內,以便捕獲可能存在的異常。每一個 try 至少要有一個與之對應的 catch。使用多個 catch 可以捕獲不同的類所產生的異常。當 try 代碼塊不再拋出異常或者找不到 catch 能匹配所拋出的異常時,PHP 代碼就會在跳轉到最後一個 catch 的後面繼續執行。當然,PHP 允許在 catch
Time of Update: 2016-11-23
當一個產生器函數被第一次調用,會返回一個內部Generator類的對象. 這個對象以和前台迭代器對象幾乎同樣的方式實現了Iterator 介面。Generator 類中的大部分方法和Iterator 介面中的方法有著同樣的語義, 但是產生器對象還有一個額外的方法: send().CautionGenerator 對象不能通過new執行個體化Example #1 The Generator class<?php class Generator implements Iterator {
Time of Update: 2016-11-22
之前在開發項目時,遇到過用strtotime("- 1 month")會出現bug的情況,主要原因是PHP預設設定的時間是以格林威治時區為標準的,有兩種方法解決這個問題,一是在php.ini中修改預設的時區,二是在程式中設定首先說下第一種方法吧,在php.ini中修改預設的時區我用的wampIntegration
Time of Update: 2016-11-22
一、用戶端的PHP代碼 <?php//初始化一個控制代碼$ch = curl_init();//設定訪問地址curl_setopt($ch, CURLOPT_URL, "http://cq01-testing-lv01.vm.baidu.com:8808/mobile/uploadclient");//curl_setopt($ch, CURLOPT_RETURNTRANSFER,
Time of Update: 2016-11-22
之前的博文已經對PHPExcel匯出excel檔案做了簡單的總結,現對他讀取excel做以下總結。(對資料量不會很大的建可以採用web直接用此方法讀取,如果資料量會很大的話,還是建議web只做上傳功能,讀取、處理還是放後台吧。PHPExcel還是比較耗費時間、記憶體的。) 執行個體代碼://首先匯入PHPExcelrequire_once 'PHPExcel.php';$filePath =
Time of Update: 2016-11-22
array() 建立數組,帶有鍵和值。如果在規定數組時省略了鍵,則產生一個整數鍵,這個 key 從 0 開始,然後以 1 進行遞增。 要用 array() 建立一個關聯陣列,可使用 => 來分隔鍵和值。 要建立一個空數組,則不傳遞參數給array(): $new = array();注意:array()實際上是一種語言結構 (language construct),通常用來定義直接量數組,但它的用法和函數的用法很相似,所以我們把它也列到手冊中PHP array() 例子<
Time of Update: 2016-11-22
這幾天在做項目時,遇到了需要大量匯入資料的情況,使用者將excel表格提交後,需要我們後台這邊將excel表格資訊中的內容全部插入到資料表中。當然,前提是使用者給我們的excel表格中的資訊必須和我們表中的欄位資訊時對應的才行,下面是我這邊後台進行大量匯入資料的實現步驟。首先我們需要下載phpExcelphpExcel是用來操作Office Excel
Time of Update: 2016-11-22
php 採集 Snoopy 詳解 PHP採集利器snoopy應用詳解 Snoopy是一個php類,用來類比瀏覽器的功能,可以擷取網頁內容,發送表單。Snoopy正確運行需要你的伺服器的PHP版本在4以上,並且支援PCRE(Perl Compatible Regular Expressions),基本的LAMP服務都支援。 一、Snoopy的一些特點: 1.抓取網頁的內容 fetch 2.抓取網頁的常值內容 (去除HTML標籤) fetchtext 3.抓取網頁的連結,表單
Time of Update: 2016-11-22
<?php// 處理開始元素函數function startElementHandler($parser, $element, $attributes) {echo "元素開始:".$element."<br>";if($attributes) {echo "屬性:";foreach ( $attributes as $key => $value ) { echo
Time of Update: 2016-11-22
由於PHP的工作機制,它並沒有一個daemon線程,來定時地掃描session資訊並判斷其是否失效。當一個有效請求發生時,PHP會根據全域變數 session.gc_probability/session.gc_divisor(同樣可以通過php.ini或者ini_set()函數來修改) 的值,來決定是否啟動一個GC(Garbage Collector)。預設情況下,session.gc_probability = 1,session.gc_divisor
Time of Update: 2016-11-22
/** * 1. strtr 轉換指定字元 * * string strtr ( string $str , string $from , string $to ) * string strtr ( string $str , array $replace_pairs ) * * 該函數返回 str 的一個副本,並將在 from 中指定的字元轉換為 to 中相應的字元。 * 如果 from 與 to 長度不相等,那麼多餘的字元部分將被忽略。 */$str =
Time of Update: 2016-11-22
PHP擷取目前時間(年,月,日,小時,分,秒) 1echo date( "h:i "); date (PHP 3, PHP 4 ) date — 格式化一個本地時間/日期 說明 string date ( string format [, int timestamp]) 返回將整數 timestamp 按照給定的格式字串而產生的字串。如果沒有給出時間戳記則使用本地目前時間。 注: 有效時間戳記典型範圍是格林威治時間 1901 年 12 月 13 日 20:45:54
Time of Update: 2016-11-22
我們應該選擇偽靜態還是真靜態 1、使用真靜態和假靜態對SEO來說沒有什麼區別 2、使用真靜態可能將導致硬碟損壞並將影響論壇效能 3、使用偽靜態將佔用一定量的CPU佔有率,大量使用將導致CPU超負荷 4、最重要的一點,我們要靜態是為了SEO 所以: 1、使用真靜態方法可以直接排除了,因為無論怎麼產生,對硬碟來說都是很傷的。 2、既然真偽靜態效果一樣,我們就可以選擇偽靜態了。 3、但是偽靜態大量使用會造成CPU超負荷。 4、所以我們只要不大量使用就可以了。
Time of Update: 2016-11-22
<?php $a = 10; function zjt($a) //定義一個函數zjt() { global $a; for($i = 1;$i <= $a;$i++ ) //控制輸出的行數 {
Time of Update: 2016-11-22
幾種程式設計語言的foreach迴圈比較 foreach迴圈作為“for”迴圈的“增強版本”,由於能以更簡單的方式遍曆數組元素,已經在幾種程式設計語言(Java、C#、PHP)中得到了廣泛的應用。但在不同的語言中,foreach迴圈的具體形式又不盡相同。下面,我們就來比較下Java、C#和PHP三種語言中foreach迴圈的具體結構及應用執行個體: 1. Java: JDK1.5後提供了foreach迴圈 文法格式:for(type variableName :
Time of Update: 2016-11-22
二維條碼/二維碼(2D code.QR Code-abbreviated from Quick Response Code, a form of 2D code-is the most known one)就是用某種特定的幾何圖形按一定規律在平面(二維方向上)分布的黑白相間的圖形記錄資料符號資訊的,QR碼是常見的一種二維碼。 PHP產生方式主要以下兩種:<?php/** * 二維碼產生 * * @since 2013/02/27 *//** * 1.google open
Time of Update: 2016-11-22
最佳化 PHP 代碼技巧1. 如果一個方法能被靜態,那就聲明他為靜態,速度可提高 1/4;2. echo 的效率高於 print,因為 echo 沒有傳回值,print 返回一個整型;3. 在迴圈之前設定迴圈的最大次數,而非在在迴圈中;4. 銷毀變數去釋放記憶體,特別是大的數組;5. 避免使用像__get, __set, __autoload 等魔術方法;6. requiere_once()比較耗資源;7. 在 includes 和 requires 中使用絕對路徑,這樣在分析路徑花的時間更少;