Time of Update: 2016-07-21
對多維陣列排序,通用的作法是1 擷取利用排序的資料並且將其放入數組$arrSort. 其中鍵索引為要排序數組的索引,保證唯一性 2 利用排序函數sort等對$arrSort進行排序. 3 遍曆$arrSort, 根據其索引,擷取多維陣列的資料,重新構造排序後的多維陣列. 複製代碼 代碼如下:Array ( [0] => Array ( [link] => test [name] => test.rpm [type] => file [size] => 988.9k [mtime] => 1185
Time of Update: 2016-07-21
即可解決: set_time_limit(900); 這個函數指定了當前所在php指令碼的最大執行時間, 雖然設定值是900秒,實際上 最大執行時間=php.ini裡的max_execution_time數值 - 當前指令碼已經執行的時間 + 設定值 假如php.ini裡的max_execution_time=30,當前指令碼已經執行10秒,則: 最大執行時間=30-10+900=920秒。 經過如此修改後,PHP指令碼成功更新200000條記錄。 以上是在LAPP環境中通過的。
Time of Update: 2016-07-21
但導到sqlserver 2005後,發現其中文編碼只支援GB 和 UCS-2(unicode 16),所以直接在資料庫中查詢顯示正確,但使用php的utf9編碼顯示時則全是亂碼。找了大量資料,什麼使用mssql,freetds,odbc,ado或直接每次查詢和寫入都進行轉碼等建議都有。不過實際測試中,發現Ado這種方法是好用的。 代碼如下:複製代碼 代碼如下: //print("The next line generates an error.");
Time of Update: 2016-07-21
文法: int ignore_user_abort(int [setting]); 傳回值: 整數 函數種類: PHP 系統功能 內容說明 0 - NORMAL(正常)1 - ABORTED(異常退出)2 - TIMEOUT(逾時) 本函數配置或取得使用端串連中斷後,PHP 程式是否仍繼續執行。預設值為中斷串連後就停止執行。在 PHP 設定檔中 (php3.ini/php.ini) 的 ignore_user_abort 選項就是配置處。本功能在 PHP 3.0.7 版之後才開始提供。
Time of Update: 2016-07-21
第一種辦法: 載入 Encode模組,前提是你需要安裝這個模組 例子代碼: 複製代碼 代碼如下: $str=decode("gb2312",$names[$index]); @chars=split(//,$str); foreach(@chars) { $char=encode("gb2312",$_); print "ONE WORD:$char\n"; } 第二種辦法: 中文字元是佔了2個位元組,所以你可以用下面語句直接得到漢字,代碼如下: @chars=split(//,$names[
Time of Update: 2016-07-21
原來發表過一個脫離資料庫的分頁類,最近使用的時候發現有些時候搜尋的東西過於大的時候,採用url傳遞參數的方式,可能會有一定的影響或者叫已知的bug,這次做了一些擴充,同時相容了以前的模式,使用上面很簡單的,只需要多設定一個參數就可以了代碼如下:複製代碼 代碼如下:/** * 功能: 分頁類,根據提供的資料總量和頁面大小 * 建立日期:Fri Apr 20 16:45:21 CST 2007 * 最後更新: * 作者: sanshi */ class pagination { var $
Time of Update: 2016-07-21
複製代碼 代碼如下:/* +-------------------------------------------------------------------------- | B-Check v0.05 | ======================================== | 南方第三製作 | http://www.zndown.com | ======================================== |
Time of Update: 2016-07-21
原來是需要把IP轉成十進位 複製代碼 代碼如下:$ip = $_SERVER['REMOTE_ADDR']; echo '你的IP:'.$ip.''; $ip_arr = explode(".",$ip); $ip = 0; foreach($ip_arr as $i=>$s){ $ip += $s*pow(256,3-$i); } echo '轉十進位值:'.$ip.''; //結果你的IP:127.0.0.1 轉十進位值:2130706433
Time of Update: 2016-07-21
當然,也有其他方法,網上可以搜尋得到。我這裡推薦一個既能瀏覽http頁面又能瀏覽wap頁面的方法,那就是用Firefox + wmlbrowser組件。裝好wmlbrowser組件的firefox就可以支援直接瀏覽wap頁面了。由於需要動態輸出內容,我們不得不將頁面的尾碼名定為.php,那這樣如何讓瀏覽器將其解析為wap頁面呢?很簡單,只要在標頭檔輸出的時候告訴瀏覽器該檔案的MIME類型就行了。 複製代碼 代碼如下:header("Content-type: text/vnd.wap.wml")
Time of Update: 2016-07-21
如果用傳統的輸出方法——按字串輸出的話,肯定要有大量的轉義符來對字串中的引號等特殊字元進行轉義,以免出現語法錯誤。如果是一兩處還可以容忍,但是要是一個完整的html文本或者是一個200行的js我想是誰都會崩潰的。這就是PHP為什麼要引入一個定界符的原因——至少一大部分原因是這樣的。 1.PHP定界符的作用就是按照原樣,包括換行格式什麼的,輸出在其內部的東西; 2.在PHP定界符中的任何特殊字元都不需要轉義; 3.PHP定界符中的PHP變數會被正常的用其值來替換。 PHP中的定界符格式是這樣的:
Time of Update: 2016-07-21
曾找過一個JS版的,但是到了UTF8編碼裡不能用,於是就產生了自已寫一個的念頭。其實我這個代碼的實現原理很簡單的,只是一個替換字元集的過程,相信大部份人都可以寫得出來。以下是代碼,不知道有沒有bug,大家如果在使用上有問題,可以提出來 複製代碼 代碼如下: // class utf8_chinese { private $utf8_gb2312; private $utf8_big5; public function __construct(){ $this->utf8_gb2312 =
Time of Update: 2016-07-21
一 下載安裝程式 Apache可以從http://www.apache.org/dyn/closer.cgi/httpd/binaries/win32/下載 PHP可以從http://www.php.net下載. 二 安裝程式 1、Apache的程式安裝相對來說要較為的簡單一些,我們從網站下來的是一個Windows下的安裝程式,我們可以直接雙擊運行,這樣我們就便利Apache在我們的電腦上安下家來了。
Time of Update: 2016-07-21
1.定義常量define("CONSTANT", "Hello world."); 常量只能包含標量資料(boolean,integer,float 和 string)。 調用常量時,只需要簡單的用名稱取得常量的值,而不能加“$”符號,如:echo CONSTANT; 注: 常量和(全域)變數在不同的名字空間中。這意味著例如 TRUE 和 $TRUE 是不同的。 2.普通變數$a = "hello"; 3.可變變數(使用兩個貨幣符號($)) $$a = "world"; 兩個變數都被定義了: $
Time of Update: 2016-07-21
1,產生隨機數 用for迴圈確定產生幾個隨機數。 用隨機函數產生範圍內隨機數。例如rand(1,15),產生1到15之間的數字。 用16位進位函數把產生數字字母化。dechex(rand(1,15))。 用.=運算來儲存幾個數字。 把產生好的隨機數放到$_SESSION[變數]。等將來跟使用者提交的內容比較。 2,建立圖片 用圖片建立函數確定,所建立的圖片大小。 例如$im =
Time of Update: 2016-07-21
現作個簡單回顧:基本上應該遇到的問題都遇到了,關鍵是多查資料,多動腦子就能解決問題的。 1/無法載入mcrypt擴充,請檢查PHP配置; 2/設定檔現在需要絕密的短語密碼(blowfish_secret); 3/#2003-伺服器沒有響應。
Time of Update: 2016-07-21
複製代碼 代碼如下:function getAdder($x) { return function ($y) use ($x) { return $x + $y; }; } $adder = getAdder(8); echo $adder(2); // prints "10" 在這裡, getAdder ( )函數建立一個封閉使用參數$ × (關鍵字“使用”勢力越來越變數上下文) ,它需要額外的參數$
Time of Update: 2016-07-21
與ADODB和MDB2相比,PDO更高效。目前而言,實現“資料庫抽象層”任重而道遠,使用PDO這樣的“資料庫訪問抽象層”是一個不錯的選擇。 PDO->beginTransaction() — 標明復原起始點 PDO->commit() — 標明復原結束點,並執行SQL PDO->__construct() — 建立一個PDO連結資料庫的執行個體 PDO->errorCode() — 擷取錯誤碼 PDO->errorInfo() — 擷取錯誤的資訊 PDO->exec() — 處理一條SQL語句,
Time of Update: 2016-07-21
// 方法一: PDO::__construct($dsn, $user, $pass, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8';")); // 方法二: PDO::__construct($dsn, $user, $pass); PDO::exec("SET NAMES 'utf8';"); 兩種方法都能解決問題, 原理一樣的, 使用哪中看自己喜歡了
Time of Update: 2016-07-21
曾找過一個JS版的,但是到了UTF8編碼裡不能用,於是就產生了自已寫一個的念頭。其實我這個代碼的實現原理很簡單的,只是一個替換字元集的過程,相信大部份人都可以寫得出來。以下是代碼,不知道有沒有bug,大家如果在使用上有問題,可以提出來 複製代碼 代碼如下: // class utf8_chinese { private $utf8_gb2312; private $utf8_big5; public function __construct(){ $this->utf8_gb2312 =
Time of Update: 2016-07-21
如下是php.ini中的原文說明以及預設配置: ; open_basedir, if set, limits all file operations to the defined directory ; and below. This directive makes most sense if used in a per-directory or ; per-virtualhost web server configuration file. This directive is ; *NOT*