php 經常使用

零:重要的PHP超級全局變量php

一、$_SERVERhtml

        $_SERVER超級全局變量包含由web服務器建立的信息,它提供了服務器和客戶配置及當前請求環境的有關信息。根據服務器不一樣,$_SERVER中的變量值和變量個數會有差異,不過通常均可以找到CGI1.1規範中定義的變量。其中包括:mysql

        $_SERVER[ 'HTTP_REFERER' ] ; 引導用戶到達當前位置的頁面的URL ;web

        $_SERVER[ 'REMOTE_ADDR‘ ] ; 客戶IP地址 ;正則表達式

        $_SERVER[ ’REQUEST_URI‘ ] ; URL的路徑部分。若是URL是[url]http://www.example.com/blog/apache/index.html[/url] ,那麼URI就是/blog/apache/index.html 。sql

        $_SERVER[ 'HTTP_USER_AGENT' ] ; 客戶的用戶代理,通常會提供操做系統和瀏覽器的有關信息。shell

 

二、$_GET數據庫

        $_GET超級全局變量包含使用GET方法傳遞的參數的有關信息。若是請求URL爲[url]http://www.example.com/index.html?cat=apache&id=157[/url], 就可使用$_GET超級全局變量訪問以下變量:apache

        $_GET[ 'cat' ] = "apache" ;數組

        $_GET[ 'id' ]   = "157" ;

        默認狀況下,要訪問通GET方法傳遞的變量,$_GET超級全局變量是惟一的途徑。

 

三、$_POST

        $_POST超級全局變量包含用POST方法傳遞的參數的有關信息。

      <form caction="subscribe.php" method = "post">

            <p>

                  Email address : <br>

                  <input type="text" name="email" size="20" maxlength="so" value="">

            </p>

           <p>

                  Password : <br>

                  <input type="password" name="pswd" size="20" maxlength="15" value="">

            </p>

            <p>

                  <input type="submit" name="subscribe" value="subscribe!">

             </p>

       </form>

        經過腳本subscribe.php,就可使用下面的POST變量:

         $_POST[ 'email' ] = " jason@example.com " ;

         $_POST[ 'pswd' ] = "rainyday" ;

         $_POST[ 'subscribe' ] = "subscribe!" ;

         與$_GET同樣,在默認狀況下,$_POST超級全局變量是訪問POST變量的惟一途徑。

 

四、$_COOKIE

        $_COOKIE超級全局變量存儲了經過HTTP cookie傳遞到腳本的信息。這些cookie通常是由之前執行的PHP腳本經過PHP函數setcookie ( ) 設置的。例如,假設使用 setcookie ( )存儲了一個名爲 example.com、值爲ab2213的cookie。之後就能夠經過調用$_COOKIE[ ' example.com' ]來得到這個值。

       

五、$_FILES

        $_FILES超級全局變量包含經過POST方法向服務器上傳的數據的有關信息。這個超級全局變量與其餘的變量有所不一樣,它是一個二維數組,包含5個元素。第一個下標標示表單的文件上傳元素名;第二個下標是五個預約義下標之一,這些下標描述了上傳文件的某個屬性:

        △  $_FILES[ 'upload-name' ][ 'name' ]; 從客戶端向服務器上傳文件的文件名;

        △  $_FILES[ 'upload-name' ][ 'type' ]; 上傳文件的MIME類型,這個變量是否賦值取決於瀏覽器的功能。

        △  $_FILES[ 'upload-name' ][ 'size' ];  上傳文件的大小(以字節爲單位);

        △  $_FILES[ 'upload-name' ][ 'tmp_name' ]; 上傳以後,將此文件移到最終位置以前賦予的臨時名。

        △  $_FILES[ 'upload-name' ][ 'error' ]; 上傳狀態碼。儘管這個變量的名爲 error ,但實際上在成功的狀況下也會填寫這個變量。它有五個可能的值:

              ■  UPLOAD_ERR_OK   文件成功上傳

              ■  UPLOAD_ERR_INI_SIZE  文件大小超出了 upload_max_filesize 指令所指定的最大值。

              ■  UPLOAD_ERR_FORM_SIZE  文件大小超出了MAX_FILE_SIZE 隱藏表單域參數(可選)指定的最大值。

              ■  UPLOAD_ERR_PARTIAL  文件只上傳了一部分

              ■  UPLOAD_ERR_NO_FILE  上傳表單中沒有指定文件

 

六、$_ENV

        $_ENV超級全局變量提供PHP解析所在服務器環境的有關信息。此數組中的變量包括:

            △  $_ENV[ 'HOSTNAME' ]  服務器的主機名

            △  $_ENV[ 'SHELL' ]  系統 shell

 

七、$_REQUEST

        $_REQUEST超級全局變量是一個全能選手,它記錄了經過各類方法傳遞給腳本的變量,特別是GET ,POST 和 COOKIE 。 這些變量的順序不依賴於它們在發送腳本中出現的順序,而是依賴於 variables_order 配置指令所指定的順序。建議少用這個超級變量,由於它不夠安全。

 

八、$_SESSION

        $_SESSION 超級全局變量包含與全部會話有關的信息。註冊會話信息能爲你提供便利,這樣就能在整個網站中引用這些會話信息,而無需經過GET或POST顯示的傳遞數據。

 

九、$GLOBALS

        $GLOBALS 超級全局變量數組能夠認爲是超級全局變量的超集,包含全局做用域內的全部變量。執行下面的代碼能夠查看$GLOBALS 中全部的變量。

        print ' <pre>' ;

        print_r ($GLOBALS);

        print ' </pre>' ;

 

一 :php處理字符串經常使用函數

 

1查找字符位置函數:  

strpos($str,search,[int]):查找search在$str中的第一次位置從int開始;

stripos($str,search,[int]):函數返回字符串在另外一個字符串中第一次出現的位置。該函數對大小寫不敏感

strrpos($str,search,[int]):查找search在$str中的最後一次出現的位置從int開始

strripos($str,search,[int]):同上,該函數對大小寫不敏感

二、提取子字符串函數(雙字節)

substr($str,int start[,int length]):從$str中strat【下標(0,length-1)】位置開始提取[length長度的字符串]。

strstr($str1,$str2):從$str1(第一個的位置)搜索$str2並從它開始截取到結束字符串;若沒有則返回FALSE。

stristr() 功能同strstr,只是不區分大小寫。

strrchr() 從最後一次搜索到的字符處返回;用處:取路徑中文件名

三、替換字符串的PHP字符串函數

str_replace(search,replace,$str):從$str中查找search用replace來替換

str_ireplace(search,replace,$str):同上,該函數對大小寫不敏感

strtr($str,search,replace):這個函數中replace不能爲"";

substr_replace($Str,$rep,$start[,length]):$str原始字符串,$rep替換後的新字符串,$start起始位置,$length替換的長度,該項可選

四、字符長度

int strlen($str)

五、比較字符函數

int strcmp($str1,$str2):$str1>=<$str2分別爲正1,0,-1(字符串比較)

strcasecmp() 同上(不分大小寫)

strnatcmp("4","14") 按天然排序比較字符串

strnatcasecmp() 同上,(區分大小寫)

六、分割成數組的PHP字符串函數

str_split($str,len):把$str按len長度進行分割返回數組

split(search,$str[,int]):把$str按search字符進行分割返回數組int是分割幾回,後面的將不分割

expload(search,$str[,int])

七、去除空格:

ltrim()、rtrim()、trim()

八、加空格函數

chunk_split($str,2):向$str字符裏面按2個字符就加入一個空格;

九、chr、ord--返回指定的字符或ascii

十、HTML代碼有關函數

nl2br():使\n轉換爲<br>。

strip_tags($str[,'<p>']):去除HTML和PHP標記

在$str中全部HTML和PHP代碼將被去除,可選參數爲html和PHP代碼做用是將保留

可選參數所寫的代碼。

如:echo strip_tags($text, '<br><p>');

htmlspecialchars($str[,參數]):頁面正常輸出HTML代碼參數,是轉換方式

十一、字符大小寫轉換的PHP字符串函數

strtolower($str): 字符串轉換爲小寫

strtoupper($str): 字符串轉換爲大寫

ucfirst($str): 將函數的第一個字符轉換爲大寫

ucwords($str): 將每一個單詞的首字母轉換爲大寫

十二、數據庫相關的PHP字符串函數

addslashes($str):使str內單引號(')、雙引號(")、反斜線(\)與 NUL

字符串轉換爲\',\",\\。

magic_quotes_gpc = On :自動對 get,post,cookie的內容進行轉義

get_magic_quotes_gpc():檢測是否打開magic_quotes_gpc

stripslashes(): 去除字符串中的反斜槓

 

13 肯定字符串長度

* int strlen(string str)

14 比較兩個字符串

* 1strcmp函數對兩個字符串進行二進制安全的比較,並區分大小寫

* int strcmp(string str1,string str2)

* 2、以不區分大小寫的方式比較兩個字符串

* int strcasecmp(string str1,string str2)

* 3、求兩個字符串相同部分

* int strspn(string str1,string str2)

* 4、求兩個字符串的不一樣部分

* int strcspn(string str1,string str2)

15 處理字符串大小寫

* 1、將字符串所有轉換爲小寫

* string strtolower(string str)

* 2、將字符串所有轉化爲大寫

* string strtoupper(string str)

* 3、將字符串第一個字符大寫

* string ucfirst(string str)

* 4、將字符串中的每一個單詞變成大寫

* string ucword(string str)

16 字符串與HTML相互轉換

* 1、將換行符轉換爲HTML終止標記

* string bl2br(string str)

* 2、將特殊字符轉換wieldHTML等價形式

* string htmlentities(string str[,int quote_style[,int charset]])

* 3、使用特殊的HTML字符用於其餘目的

* string htmlspecialchars(string str[,int quote_style[,string charset]])

* 4、將文本轉換爲HTML等價形式

* array get_html_translaction_table(int table[,int quote_style])

* 5、建立一個自定義的轉換清單

* string strtr(string str,array replacements)

* 6、將HTML轉換爲純文本

* string strip_tags(string str[,string allowable_tags])

17 正則表達式函數的替代函數

* 1strtok函數根據預約義的字符串列表來解析字符串

* string strtok(string str,string tonens)

* 2、根據預約義的定界符分析字符串

* array explode(string separator,string str[,int limit])

* 3、將數組轉換爲字符串

* string implode(string delimiter, array array)

* 4、解析複雜的字符串

* int strpos(string str,string substr[,int offset])

* 5、找到字符串的最後一次出現

* int strrpos(string str,char substr[,offset])

* 6、用另一個字符串替代字符串的全部實例

* mixed str_replace(string occurrence,mixed replacement,mixed str[,int count])

* 7、獲取字符串的一部分strstr返回字符串中預約義字符串第一次出現開始的剩餘部分

* string strstr(string str,string occurrence)

* 8、根據預約義的偏移返回字符串一部分

* string substr(string str,int start[,ing length])

* 9、肯定字符串出現的頻率

* int substr_count(string str,string substring)

* 10、用另外一個字符串替換一個字符串的一部分

* string substr_replace(string str,string replacement,int start[,int length])

18 填充和剔除字符串

* 1、從字符串開始出裁剪字符

* string ltrim(string str[,string charliset])

* 2、從字符串結尾裁剪字符

* string rtrim(string str[,string charliset])

* 3、從字符串兩端裁剪字符

* string trim(string str[,string charliset])

* 4、填充字符串

* string str_pad(string str,int length[,string pad_string[,int pad_type]])

19字符和單詞計數

* 1、字符串中字符計數

* mixed count_chars(string str[,mode])

* 2、字符串中單詞總數計數

* mixed str_word_count(string str[,int format])

 

2、數組操做的基本函數
1 數組的鍵名和值
array_values($arr); 得到數組的值
array_keys($arr);得到數組的鍵名
array_flip($arr);數組中的值與鍵名互換(若是有重複前 面的會被後面的覆蓋)
in_array("apple",$arr);在數組中檢索apple
array_search("apple",$arr); 在數組中檢索apple ,若是存在返回鍵名
array_key_exists("apple",$arr);檢索給定的鍵名是否存在數組中
isset($arr[apple]): 檢索給定的鍵名是否存在數組中


2 數組的內部指針
current($arr);返回數組中的當前單元
pos($arr);返回數組中的當前單元
key($arr);返回數組中 當前單元的鍵名
prev($arr);將數組中的內部指針倒回一位
next($arr);將數組中的內部指針向前移動一位
end($arr); 將數組中的內部指針指向最後一個單元
reset($arr;將數組中的內部指針指向第一個單元
each($arr);將返回數組當前元素 的一個鍵名/值的構造數組,並使數組指針向前移動一位
list($key,$value)=each($arr);得到數組當前元素的鍵名和值


3 數組和變量之間的轉換
extract($arr);用 於把數組中的元素轉換成變量導入到當前文件中,鍵名看成變量名,值做爲變量值
注:(第二個參數很重要,能夠看手冊使用)使用 方法  echo $a;
compact(var1,var2,var3);用給定的變量名建立一個數組


4 數組的分段和填充
數組的分段
array_slice($arr,0,3); 能夠將數組中的一段取出,此函數忽略鍵名
array_splice($arr,0,3,array("black","maroon"));能夠將數組中的一段取出,與上個函數不一樣在於返回的序列從原數組中刪除


5 分割多個數組
array_chunk($arr,3,TRUE);能夠將一個數組分割成多個,TRUE爲保留原數 組的鍵名

6 數組的填充
array_pad($arr,5,'x'); 將一個數組填補到制定長度

7 數組與棧
array_push($arr,"apple","pear"); 將一個或多個元素壓入數組棧的末尾(入棧),返回入棧元素的個數
array_pop($arr);將數組棧的最後一個元素彈出(出棧)


8 數組與列隊
array_shift($arr);數組中的第一個元素移出並做爲結果返回(數組長度減1,其餘元素向前移動一位,數字鍵名改 爲從零技術 , 文字鍵名不變)
array_unshift($arr,"a",array(1,2));在數組的開頭插入一個或多個元素


9 回調函數
array_walk($arr,'function','words');使用用戶函數對數組中的每一個成員進行處理(第三個參數傳遞給回調函數function)
array_mpa("function",$arr1,$arr2);能夠處理多個數組(當使用兩個或更多數組時,他們的長度應該相同)
array_filter($arr,"function");使用回調函數過濾數組中的每一個元素,若是回調函數爲 TRUE,數組的當前元素會被包含在返回的結果數組中,數組的鍵名保留不變
array_reduce($arr,"function","*"); 轉化爲單值函數(*爲數組的第一個值)


10數組的排序
經過元素值對數組排序
sort($arr);由小到大的順序排序(第二個參數爲按什麼 方式排序)忽略鍵名的數組排序
rsort($arr);由大到小的順序排序(第二個參數爲按什麼方式排序)忽略鍵名的數組排序
usort($arr,"function"); 使用用戶自定義的比較函數對數組中的值進行排序(function中有兩個參數,0表示相等,正數表示第一個大於第二個,負數表示第一個小於第二個)忽略鍵名的數組排序
asort($arr);由小到大的順序排序(第二個參數爲按什麼方式排序)保留鍵名的數組排序
arsort($arr); 由大到小的順序排序(第二個參數爲按什麼方式排序)保留鍵名的數組排序
uasort($arr,"function");使用用戶自定義的比較函數對數組中的值進行排序(function中有兩個參數,0表示相等,正數表示第一個大於第二個,負數表示第一個小於第二個)保留鍵名的數組排序

經過鍵名對數組排序
ksort($arr);按照鍵名 正序排序
krsort($arr);按照鍵名逆序排序
uksort($arr,"function");使用用戶自定義的比較函數對數組中的鍵名進行排序(function中有兩個參數,0表示相等,正數表示第一個大於第二個,負數表示第一個小於第二個)

天然排序法排序
natsort($arr);天然排序 (忽略鍵名)
natcasesort($arr);天然排序(忽略大小寫,忽略鍵名)


12 數組的計算
數組元素的求和
array_sum($arr);對數 組內部的全部元素作求和運算

13 數組的合併
array_merge($arr1,$arr2);合併兩個或多個數組(相同的字符串鍵名,後面的覆蓋前面的,相同的數字鍵名,後面的不會作覆蓋操做,而是附加到後面)
「+」$arr1+$arr2;對於相同的鍵名只保留後一個
array_merge_recursive($arr1,$arr2); 遞歸合併操做,若是數組中有相同的字符串鍵名,這些值將被合併到一個數組中去。若是一個值自己是一個數組,將按照相應的鍵名把它合併爲另外一個數組。當數組具備相同的數組鍵名時,後一個值將不會覆蓋原來的值,而是附加到後面

14 數組的差集
array_diff($arr1,$arr2);返回差集結果數組
array_diff_assoc($arr1,$arr2,$arr3); 返回差集結果數組,鍵名也作比較

數組的交集
array_intersect($arr1,$arr2);返回交集結果數組
array_intersect_assoc($arr1,$arr2); 返回交集結果數組,鍵名也作比較


其餘的數組函數
range(0,12);建立一個包含指 定範圍單元的數組
array_unique($arr);移除數組中重複的值,新的數組中會保留原始的鍵名
array_reverse($arr,TRUE); 返回一個單元順序與原數組相反的數組,若是第二個參數爲TRUE保留原來的鍵名
//srand((float)microtime()*10000000); 隨機種子觸發器
array_rand($arr,2);從數組中隨機取出一個或 多個元素
shuffle($arr);將數組的順序打亂

 

三 php時間函數

1,年-月-日
echo date('Y-m-j');
2009-05-29
echo date('y-n-j');
09-2-29

大寫Y表示年四位數字,而小寫y表示年的兩位數字;
小寫m表示月份的數字(帶前導),而小寫n則表示不帶前導的月份數字。

echo date('Y-M-j');
2009-May-6

echo date('Y-m-d');
2009-05-06

大寫M表示月份的3個縮寫字符,而小寫m則表示月份的數字(帶前導0);
沒有大寫的J,只有小寫j表示月份的日期,無前導o;若須要月份帶前導則使用小寫d。

echo date('Y-M-j');
2009-Feb-6

echo date('Y-F-jS');
2009-February-6th

大寫M表示月份的3個縮寫字符,而大寫F表示月份的英文全寫。(沒有小寫f)
大寫S表示日期的後綴,好比「st」、「nd」、「rd」和「th」,具體看日期數字爲什麼。
小結:
表示年能夠用大寫的Y和小寫y;
表示月能夠用大寫F、大寫M、小寫m和小寫n(分別表示字符和數字的兩種方式);
表示日能夠用小寫d和小寫j,大寫S表示日期的後綴。


2,時:分:秒

默認狀況下,PHP解釋顯示的時間爲「格林威治標準時間」,與咱們本地的時間相差8個小時。

echo date('g:i:s a');
5:56:57 am

echo date('h:i:s A');
05:56:57 AM

小寫g表示12小時制,無前導0,而小寫h則表示有前導0的12小時制。
當使用12小時制時須要代表上下午,小寫a表示小寫的「am」和「pm」,大寫A表示大寫的「AM」和「PM」。

echo date('G:i:s');
14:02:26

大寫G表示24小時制的小時數,可是不帶前導的;使用大寫的H表示帶前導的24小時制小時數

小結:
字母g表示小時不帶前導,字母h表示小時帶前導;
小寫g、h表示12小時制,大寫G、H表示24小時制。

3,閏年、星期、天

echo date('L');
今年是否閏年:0

echo date('l');
今天是:Tuesday

echo date('D');
今天是:Tue

大寫L表示判斷今年是否閏年,布爾值,爲真返回1,不然爲0;
小寫l表示當天是星期幾的英文全寫(Tuesday);
而使用大寫D表示星期幾的3個字符縮寫(Tue)。

echo date('w');
今天星期:2

echo date('W');
本週是整年中的第 06 周

小寫w表示星期幾,數字形式表示
大寫W表示一年中的星期數

echo date('t');
本月是 28 天

echo date('z');
今天是今年的第 36 天

小寫t表示當前月份又多少天
小寫z表示今天是本年中第幾天

4,其餘

echo date('T');
UTC
大寫T表示服務器的時間區域設置

echo date('I');
0
大寫I表示判斷當前是否爲夏令時,爲真返回1,不然爲0

echo date('U');
1170769424
大寫U表示從1970年1月1日到如今的總秒數,就是Unix時間紀元的UNIX時間戳。

echo date('c');
2007-02-06T14:24:43+00:00
小寫c表示ISO8601日期,日期格式爲YYYY-MM-DD,用字母T來間隔日期和時間,時間格式爲HH:MM:SS,時區使用格林威治標準時間(GMT)的誤差來表示。

echo date('r');
Tue, 06 Feb 2009 14:25:52 +0000
小寫r表示RFC822日期。

四文件即目錄的操做

 

1 得到文件名:
basename();
給出一個包含有指向一個文件的全路徑的字符串,本函數返回基本的文件名。若是文件名是以 suffix 結束的,那這一部分也會被去掉。
eg:

$path   =   " /home/httpd/html/index.php " ;
$file   =   basename ( $path , " .php " );  //  $file is set to "index"

 

2 獲得目錄部分:
dirname();
給出一個包含有指向一個文件的全路徑的字符串,本函數返回去掉文件名後的目錄名。
eg:

$path   =   " /etc/passwd " ;
$file   =   dirname ( $path );  //  $file is set to "/etc"

 

3 獲得路徑關聯數組
pathinfo();
獲得一個指定路徑中的三個部分:目錄名,基本名,擴展名。
eg:

$pathinfo   =   pathinfo ( " www/test/index.html " );
var_dump ( $pathinfo );
//  $path['dirname']
$path [ ' basename ' ]
$path [ ' extenssion ' ]

 
文件類型
1. filetype();
返回文件的類型。可能的值有 fifo,char,dir,block,link,file 和 unknown。
eg:

echo   filetype ( ' /etc/passwd ' );  //  file
echo   filetype ( ' /etc/ ' );         //  dir

 
獲得給定文件有用信息數組(頗有用)

1. fstat();
經過已打開的文件指針取得文件信息
獲取由文件指針 handle 所打開文件的統計信息。本函數和 stat() 函數類似,除了它是做用於已打開的文件指針而不是文件名。
eg:

//  打開文件
$fp   =   fopen ( " /etc/passwd " ,   " r " );
//  取得統計信息
$fstat   =   fstat ( $fp );
//  關閉文件
fclose ( $fp );
//  只顯示關聯數組部分
print_r ( array_slice ( $fstat ,   13 ));

2. stat()
獲取由 filename 指定的文件的統計信息(類比fstat())

計算大小
1. filesize()
返回文件大小的字節數,若是出錯返回 FALSE 並生成一條 E_WARNING 級的錯誤。
eg:

//  輸出相似:somefile.txt: 1024 bytes
$filename   =   ' somefile.txt ' ;
echo   $filename   .   ' '   .   filesize ( $filename .   '  bytes ' ;

 
2. disk_free_space()
得到目錄所在磁盤分區的可用空間(字節單位)
eg

//  $df 包含根目錄下可用的字節數
$df   =   disk_free_space ( " / " );
// 在 Windows 下:
disk_free_space ( " C: " );
disk_free_space ( " D: " );

 
3. disk_total_space()
返回一個目錄的磁盤總大小
eg:(同上,換掉函數)

另:如須要計算一個目錄大小,能夠編寫一個遞歸函數來實現

代碼
function  dir_size( $dir ){
$dir_size   =   0 ;
if ( $dh   =  @ opendir ( $dir )){
while (( $filename   =   readdir ( $dh ))  !=   false ){
if ( $filename   != ' . '  and  $filename   != ' .. ' ){

     
if ( is_file ( $dir . ' / ' . $filename )){
$dir_size   += filesize ( $dir . ' / ' . $filename );

}
else   if ( is_dir ( $dir . ' / ' . $filename )){

      
$dir_size   += dir_size( $dir . ' / ' . $filename );
}
}

                   }
# end while

            }
#  end opendir

@
closedir ( $dh );
return   $dir_size ;
# end function

 

 訪問與修改時間
1. fileatime(): 最後訪問時間
2. filectime(): 最後改變時間(任何數據的修改)
3. filemtime(): 最後修改時間(指僅是內容修改)

 

 文件的I/O操做

1. fopen -- 打開文件或者 URL

mode 說明
'r' 只讀方式打開,將文件指針指向文件頭。
'r+' 讀寫方式打開,將文件指針指向文件頭。
'w' 寫入方式打開,將文件指針指向文件頭並將文件大小截爲零。若是文件不存在則嘗試建立之。
'w+' 讀寫方式打開,將文件指針指向文件頭並將文件大小截爲零。若是文件不存在則嘗試建立之。
'a' 寫入方式打開,將文件指針指向文件末尾。若是文件不存在則嘗試建立之。
'a+' 讀寫方式打開,將文件指針指向文件末尾。若是文件不存在則嘗試建立之。
'x' 建立並以寫入方式打開,將文件指針指向文件頭。若是文件已存在,則 fopen() 調用失敗並返回 FALSE,
'x+' 建立並以讀寫方式打開,將文件指針指向文件頭。若是文件已存在,則 fopen() 調用失敗並返回 FALSE
eg:

$handle   =   fopen ( " /home/rasmus/file.txt " ,   " r " );

 

2. file -- 把整個文件讀入一個數組中(此函數是頗有用的)
和 file_get_contents() 同樣,只除了 file() 將文件做爲一個數組返回。數組中的每一個單元都是文件中相應的一行,包括換行符在內。若是失敗 file() 返回 FALSE。
eg:

代碼
$lines   =   file ( ' http://www.example.com/ ' );
//  在數組中循環,顯示 HTML 的源文件並加上行號。
foreach  ( $lines   as   $line_num   =>   $line ) {
echo   " Line #<b>{ $line_num }</b> :  "   .   htmlspecialchars ( $line .   " <br />\n " ;
}
//  另外一個例子將 web 頁面讀入字符串。參見 file_get_contents()。
$html   =   implode ( '' ,   file  ( ' http://www.example.com/ ' ));

 

3. fgets -- 從文件指針中讀取一行
從 handle 指向的文件中讀取一行並返回長度最多爲 length - 1 字節的字符串。碰到換行符(包括在返回值中)、EOF 或者已經讀取了 length - 1 字節後中止(看先碰到那一種狀況)。若是沒有指定 length,則默認爲 1K,或者說 1024 字節。
eg:

$handle   =  @ fopen ( " /tmp/inputfile.txt " ,   " r " );
if  ( $handle ) {
while  ( ! feof ( $handle )) {
$buffer   =   fgets ( $handle ,   4096 );
echo   $buffer ;
}
fclose ( $handle );
}

 

4. fgetss -- 從文件指針中讀取一行並過濾掉 HTML 標記
和 fgets() 相同,只除了 fgetss 嘗試從讀取的文本中去掉任何 HTML 和 PHP 標記。

   能夠用可選的第三個參數指定哪些標記不被去掉


   另:對的目錄的操做:
1. opendir -- 打開目錄句柄,打開一個目錄句柄,可用於以後的 closedir(),readdir() 和 rewinddir() 調用中。
2. readdir -- 從目錄句柄中讀取條目,返回目錄中下一個文件的文件名。文件名以在文件系統中的排序返回。
eg:

 

代碼
//  注意在 4.0.0-RC2 以前不存在 !== 運算符

if  ( $handle   =   opendir ( ' /path/to/files ' )) {
echo   " Directory handle:  $handle \n " ;
echo   " Files:\n " ;
  
while  ( false   !==  ( $file   =   readdir ( $handle ))) {
echo   " $file \n " ;
}
   
while  ( $file   =   readdir ( $handle )) {
echo   " $file \n " ;
}
     
closedir ( $handle );
}

 


3. scandir -- 列出指定路徑中的文件和目錄(頗有用),返回一個 array,包含有 directory 中的文件和目錄。
默認的排序順序是按字母升序排列。若是使用了可選參數 sorting_order(設爲 1),則排序順序是按字母降序排列。
eg:

$dir      =   ' /tmp ' ;
$files1   =   scandir ( $dir );
$files2   =   scandir ( $dir ,   1 );

print_r ( $files1 );
print_r ( $files2 );   

 

另外注:

對文件屬性的操做(操做系統環境不一樣,可能有所不同,這點要注意)

    1文件是否可讀

       boolis_readable ( string filename )

         若是由 filename 指定的文件或目錄存在而且可讀則返回 TRUE

        記住 PHP 也許只能以運行 webserver 的用戶名(一般爲 'nobody')來訪問文件。不計入安全模式的限制。

    2 文件是否可寫

         bool is_writable ( string filename )

        若是文件存在而且可寫則返回 TRUEfilename 參數能夠是一個容許進行是否可寫檢查的目錄名。

         記住 PHP 也許只能以運行 webserver 的用戶名(一般爲 'nobody')來訪問文件。不計入安全模式的限制

   3  檢查文件是否存在

    boolfile_exists ( string filename )

      若是由 filename 指定的文件或目錄存在則返回 TRUE,不然返回 FALSE

目錄的操做

chdir 
□ 適用版本:PHP3, PHP4   
□ 函數功能:改變目錄 
□ 函數語法:int chdir (string directory)   
□ 函數說明:改變 PHP 的工做目錄到另一個目錄中, 若是沒有辦法改變目錄, 函數會返
回 FALSE, 不然返回 TRUE。 
□ 範例程序: 

<?php 
$o=chdir("/php1"); 
If($o){ 
echo "更改路徑成功<br>\n"; 

else 

echo "更改路徑失敗<br>\n"; 

?> 


□ 執行結果:若是路徑存在, 則會印出下面的信息:更改路徑成功若是路徑不存在, 則會印
出下面的信息: Waring: ChDir: No such file or irectory (errno 2) in c:\apache\htdocs\test.php on 
line 2 更改路徑失敗 
□ 參考命令:無 


dir 

□ 適用版本:PHP3, PHP4   
□ 函數功能:目錄的 class。 
□ 函數語法:new dir (string directory)   
□ 函數說明:讀取一個目錄的虛擬面向對象機制, 函數執行之後, directory 參數給定的目錄
會被打開, 這個函數能夠與其餘的目錄函數一塊兒使用, 例如: readdir()、 rewinddir()、 closedir()。 
□ 範例程序: 

<?php 
$d=dir("/Downloads");   echo "Handle: ".$d->handle."<br>\n"; 
echo "Path: ".$d->path."<br>\n"; 
while($entry=$d->read()){ 
echo $entry."<br>\n"; 

$d->close(); 
?> 


□ 執行結果:(此結果會因電腦環境而異) Handle: Resource id #1 Path: /Downloads . .. nero 
089001D000012.Di manual.rtf 089001D000012.sw gozil35-DownloadPatch.exe 
gozil35-DownloadPatch.exe.txt manual_a-1.pdf manual_m-x.pdf   
□ 參考命令:無 


closedir 

□ 適用版本:PHP3, PHP4   
□ 函數功能:關閉目錄的控制 
□ 函數語法:void closedir (int dir_handle)   
□ 函數說明:關閉由 dir_handle 所設置的目錄控制。這個目錄控制必須在以前曾經過 
opendir() 打開過。 
□ 範例程序: 

<?php 
$handle=opendir('.'); 
echo "目錄的操做:$handle<br>"; 
echo "目錄下的文件<br>"; 
while(($file=readdir($handle))!==false){ 
echo "$file<br>"; 

closedir($handle); 
?> 


□ 執行結果:(此結果會因電腦環境而異) 目錄的操做:Resource id #1 目錄下的文件 . . . 
test.php 
□ 參考命令:無 


opendir   
□ 適用版本:PHP3, PHP4   
□ 函數功能:打開目錄的控制。 
□ 函數語法:int opendir (string path) 。 
□ 函數說明:返回一個目錄的控制, 給接下來的 closedir()、readdir() 及 rewinddir() 等函數
使用。在下面的範例中, 打開了一個目前正在工做的目錄控制。 
□ 範例程序: 

<?php 
$handle=opendir('.'); 
echo "目錄的操做:$handle<br>"; 
echo "目錄下的文件<br>"; 
while(($file=readdir($handle))!==false){ 
   echo "$file<br>"; 

closedir($handle); 
?> 


□ 執行結果:(此結果會因電腦環境而異) 目錄的操做:Resource id #1 目錄下的文件 . . . 
test.php 
□ 參考命令:無 


readdir 

□ 適用版本:PHP3, PHP4   
□ 函數功能:從目錄中讀取文件名的數據。 
□ 函數語法:string readdir (int dir_handle)   
□ 函數說明:返回目錄中下一個文件的文件名。在下面的第一個範例中, 會將工做目錄下
的文件名所有取出而且印出。 readdir() 將會返回 . 及 .. 符號, 假如不想要這兩個輸出, 可
以想辦法將他們刪去, 如同範例 2 所示。 
□ 範例程序 1: 

<?php 
$handle=opendir('.'); 
echo "目錄的操做:$handle<br>"; 
echo "目錄下的文件<br>"; 
while(($file=readdir($handle))!==false){ 
   echo "$file<br>"; 
}   closedir($handle); 
?> 


□ 執行結果:(此結果會因電腦環境而異) 目錄的操做:Resource id #1 文件 . . . counter.php 
HomePage1.txt index.html manager.php mybbs.html test.php   
□ 範例程序: 

<?php 
$handle=opendir('.'); 
while($false!==($file=readdir($handle))){ 
    if($file != "." && $file != ".."){ 
    echo "$file\n"; 

closedir($handle); 
?> 


□ 執行結果:(此結果會因電腦環境而異) test.php   
□ 參考命令:無 


rewinddir 

□ 適用版本:PHP3, PHP4   
□ 函數功能:倒轉目錄的控制。 
□ 函數語法:void rewinddir (int dir_handle)   
□ 函數說明:重置 dir_handle 的目錄指針到目錄的開始位置。 
□ 範例程序: 

<?php 
$handle=opendir('/downloads'); 
echo "目錄的操做:$handle<br>"; 
echo "目錄下的文件<br>"; 
while(($file=readdir($handle))!==false){ 
    echo "$file<br>"; 

rewindir($handle); 
echo "目錄的操做:$handle<br>"; 
echo "目錄下的文件<br>"; 
while (($file=readdir($handle))!==false){     echo "$file<br>"; 

closedir($handle); 
?> 


□ 執行結果:目錄的操做:Resource id #1 目錄下的文件 . . . adsl_all.doc adsl_faq.doc 申請
表件一(90).xls Gcime1.exe 申請表件二(90).doc 目錄的操做:Resource id #1 目錄下的文
件 . . . adsl_all.doc adsl_faq.doc 申請表件一(90).xls Gcimel.exe 申請表件二(90).doc 
□ 參考命令:無 

四: php經常使用到的sql語句

 

常規查詢
1、查詢表內容:
     select * from `tablename`
     select `nicheng` from `tablename`
     select distinct `nicheng` from `tablename` 
2、where查詢:
     select `id` from `tablename` where `id`>10 or (`id`<5)
3、in用法:
     select * from `tablename` where `nicheng` in ('蕭明', '秦城') 
4、between用法:
     select * from `tablename` where `id` between '003' and '009'
5、排序查詢(ASC由小往大/DESC由大往小):
     select id , mima from `tablename` 
     where `nicheng`='蕭明'
     order by `id` ASC
     limit 0 , 30
6、查詢表中數據項數:
     select count(*) from `tablename`
7、查詢字段中內容數量:
     select `nicheng`, count(*) from `tablename` group by `nicheng`


模糊查詢
     SQL的模式匹配容許使用「_」匹配任何單個字符,而「%」匹配任意數目字符(包括零個字符):
1、查詢以「蕭」開頭的數據: 
     select * from `tablename` where `nicheng` like "蕭%" 
2、查詢以「城」結尾的數據: 
     select * from `tablename` where `nicheng` like "%城" 
3、查詢包含一個「敬」的數據:
     select * from `tablename` where `nicheng` like "%敬%"  
4、查詢正好包含3個字符的名字,使用「_」模式字符: 
     select * from `tablename` where `nicheng` like "___"   
     正則表達式查詢:
5、查詢以z或Z開頭的數據:
     select * from `tablename` where `nicheng` regexp "^[zZ]"  
     select * from `tablename` where `nicheng` regexp "^[a-zA-Z]"  
6、查詢以g或G結尾的數據:
     select * from `tablename` where `nicheng` regexp "g$"


多表查詢:
1、多表查詢:
       $sql=mysql_query("select * from `tb_student`,`tb_sscore` where tb_=tb_ and tb_=$sno",$conn);
2、表的別名查詢統計:
       $sql=mysql_query("select * from `tb_student` as tb_s,`tb_sscore` as tb_c where tb_=tb_ and tb_=$sno",$conn);
3、合併結果集:
  $sql=mysql_query("select `userid`,`username`,`sex`,`age` from `tb_worker1` union select `ygid`,`name`,`sex`,`age` from `tb_worker2`",$conn);


聯合查詢:
1、多表聯合查詢:
$sql=mysql_query("
     select * from `tablename` where `nicheng` like "%敬%"
     union 
     select * from `info` where `nicheng` like "張%"",$conn);
2、聯合查詢結果排序:
$sql=mysql_query("select * from `tb_1` union all select * from `tb_2` order by `age` desc",$conn);
3、條件聯合查詢:
$sql=mysql_query("select `pubname` from `tb_pub` group by `pubname` having `pubname`='人民郵電出版社' or `pubname`='機械工業出版社' union all select `pubname` from `tb_pub` group by `pubname` having `pubname`<>'人民郵電出版社' and `pubname`<>'機械工業出版社'",$conn);
SELECT t1 . * , , 
FROM uchome_tagspace t1
LEFT JOIN uchome_mtag t2 ON = 
WHERE =1


多表查詢

1、簡約嵌套查詢:
       $sql=mysql_query("select * from `tb_student_score_info` where `sid` in (select `sid` from `tb_student_info` where `sid`=$sno)",$conn);
2、複雜嵌套查詢:
$sql=mysql_query("select * from `tb_laborage` where `name` in (select `name` from `tb_dept` where `name` in (select `name` from `tb_personnel` where `knowledge`='本科'))",$conn);
3、嵌套查詢應用:
$sql=mysql_query("select * from `tb_laborage` where `jbgz` ".$_POST[tj]." any(select `jbgz` from `tb_laborage` where name='".$_POST[name]."')",$conn);
4、IN子查詢:
     一、限定範圍查詢:
      $sql=mysql_query("select * from `tb_student_score` where `sid` in (select `sid` from `tb_student_score` where `sid` between $from and $to) ",$conn);
      二、查詢記錄信息:
$sql=mysql_query("select * from `tb_bookinfo` where `bookname` in (select `bookname` from `tb_bookinfo` where `bookname` like '%$bookname%') ",$conn);


排序分組
1、對數據進行降序查詢:
      $sql=mysql_query("select * from `tb_sp` order by `sl` desc",$conn);
2、對數據進行多條件排序查詢:
      $sql=mysql_query("select * from `tb_goods` order by `sl` desc,dj asc",$conn); 
3、對統計結果進行排序:
$sql=mysql_query("select *,sum(num) as totalnum from `tb_bookinfo` group by `bookname` order by `totalnum` desc",$conn); 
4、單列數據分組統計:
  $sql=mysql_query("select *,sum(num) as totalnum from `tb_bookinfo` group by `bookname` order by `totalnum` desc",$conn); 
5、多列數據分組統計:
  $sql=mysql_query("select *,sum(xcsl) as xc,sum(x ssl) as xs from `tb_book1` group by `bookname` ",$conn); 
6、多表分組統計:
  $sql=mysql_query("select *,sum(tb_xs.x ssl) as xsl,sum(tb_) as kcl from `tb_bk`,`tb_xs` where tb_=tb_ group by `bookname` ",$conn);


彙集函數
1、彙總統計查詢:
       $sql=mysql_query("select sum(yy) as sumyy,sum(yw) as sumyw,sum(sx) as sumsx,sum(ls) as sumls from `tb_student_score` ",$conn);  
2、均值統計查詢:
$sql=mysql_query("select avg(yy) as avgyy,avg(yw) as avgyw,avg(sx) as avgsx,avg(ls) as avgls from `tb_student_score` ",$conn);  
3、最小值統計查詢:
$sql=mysql_query("select * from `tb_gemsell` where `outprice-inprice` in (select min(`outprice-inprice`) as minsell from `tb_gemsell`) ",$conn);  
4、最大值統計查詢:
       $sql=mysql_query("select * from `tb_sale` where `sale` in (select max(sale) from `tb_sale` where month(xdate)=$yue and year(xdate)=2005)",$conn);  
5、統計大於某值記錄:
       $sql=mysql_query("select count(*) as total from `tb_sale` where `sale`>$num",$conn);


 

五 PHP數據庫函數


 

一、mysql_connect()-創建數據庫鏈接
格式:
    resource mysql_connect([string hostname [:port] [:/path/to/socket] [, string username] [, string password]])
例:
    $conn = @mysql_connect("localhost", "username", "password") or die("不能鏈接到Mysql Server");
說明:使用該鏈接必須顯示的關閉鏈接

二、mysql_pconnect()-創建數據庫鏈接
格式:
    resource mysql_pconnect([string hostname [:port] [:/path/to/socket] [, string username] [, string password]])
例:
    $conn = @mysql_pconnect("localhost", "username", "password") or dir("不能鏈接到Mysql Server");
說明:使用該鏈接函數不須要顯示的關閉鏈接,它至關於使用了鏈接池

三、mysql_close()-關閉數據庫鏈接
例:
    $conn = @mysql_connect("localhost", "username", "password") or die("不能鏈接到Mysql Server");
    @mysql_select_db("MyDatabase") or die("不能選擇這個數據庫,或數據庫不存在");
    echo "你已經鏈接到MyDatabase數據庫";
    mysql_close();

四、mysql_select_db()-選擇數據庫
格式:
    boolean mysql_select_db(string db_name [, resource link_id])
例:
    $conn = @mysql_connect("localhost", "username", "password") or die("不能鏈接到Mysql Server");
    @mysql_select_db("MyDatabase") or die("不能選擇這個數據庫,或數據庫不存在");

五、mysql_query()-查詢MySQL
格式:
    resource mysql_query (string query, [resource link_id])
例:
    $linkId = @mysql_connect("localhost", "username", "password") or die("不能鏈接到Mysql Server");
    @mysql_select_db("MyDatabase") or die("不能選擇這個數據庫,或者數據庫不存在");
    $query = "select * from MyTable";
    $result = mysql_query($query);
    mysql_close();
說明:若SQL查詢執行成功,則返回資源標識符,失敗時返回FALSE。若執行更新成功,則返回TRUE,不然返回FALSE

六、mysql_db_query()-查詢MySQL
格式:
    resource mysql_db_query(string database, string query [, resource link_id])
例:
    $linkId = @mysql_connect("localhost", "username", "password") or die("不能鏈接到MysqlServer");
    $query = "select * from MyTable";
    $result = mysql_db_query("MyDatabase", $query);
    mysql_close();
說明:爲了使代碼清晰,不推薦使用這個函數調用

七、mysql_result()-獲取和顯示數據
格式:
    mixed mysql_result (resource result_set, int row [, mixed field])
例:
    $query = "select id, name from MyTable order by name";
    $result = mysql_query($query);
    for($count=0;$count<=mysql_numrows($result);$count++)
    {
        $c_id = mysql_result($result, 0, "id");
        $c_name = mysql_result($result, 0, "name");
        echo $c_id,$c_name;
    }
說明:最簡單、也是效率最低的數據獲取函數

八、mysql_fetch_row()-獲取和顯示數據
格式:
    array mysql_fetch_row (resource result_set)
例:
    $query = "select id, name from MyTable order by name";
    $result = mysql_query($query);
    while (list($id, $name) = mysql_fetch_row($result)) {
        echo("Name: $name ($id) <br />");
    } 
說明:函數從result_set中獲取整個數據行,將值放在一個索引數組中。一般會結使list()函數使用

九、mysql_fetch_array()-獲取和顯示數據
格式:
    array mysql_fetch_array (resource result_set [, int result_type])
例:
    $query = "select id, name from MyTable order by name";
    $result = mysql_query($query);
    while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
        $id = $row["id"];
        $name = $row["name"];
        echo "Name: $name ($id) <br />";
    }
又例:
    $query = "select id, name from MyTable order by name";
    $result = mysql_query($query);
    while($row = mysql_fetch_array($result, MYSQL_NUM)) {
        $id = $row[0];
        $name = $row[1];
        echo "Name: $name ($id) <br />";
    }
說明:
result_type的值有:
MYSQL_ASSOC: 字段名錶示鍵,字段內容爲值
MYSQL_NUM: 數值索引數組,操做與mysql_fetch_ros()函數同樣
MYSQL_BOTH: 即做爲關聯數組又做爲數值索引數組返回。result_type的默認值。

十、mysql_fetch_assoc()-獲取和顯示數據
格式:
    array mysql_fetch_assoc (resource result_set)
至關於調用 mysql_fetch_array(resource, MYSQL_ASSOC);

十一、mysql_fetch_object()-獲取和顯示數據
格式:
    object mysql_fetch_object(resource result_set)
例:
    $query = "select id, name from MyTable order by name";
    while ($row = mysql_fetch_object($result)) {
        $id = $row->id;
        $name = $row->name;
        echo "Name: $name ($id) <br />";
    }
說明:返回一個對象,在操做上與mysql_fetch_array()相同

十二、mysql_num_rows()-所選擇的記錄的個數
格式:
    int mysql_num_rows(resource result_set)
例:
    query = "select id, name from MyTable where id > 65";
    $result = mysql_query($query);
    echo "有".mysql_num_rows($result)."條記錄的ID大於65";
說明:只在肯定select查詢所獲取的記錄數時纔有用。

1三、mysql_affected_rows()-受Insert,update,delete影響的記錄的個數
格式:
    int mysql_affected_rows([resource link_id])
例:
    $query = "update MyTable set name='CheneyFu' where id>=5";
    $result = mysql_query($query);
    echo "ID大於等於5的名稱被更新了的記錄數:".mysql_affected_rows();
說明:該函數獲取受INSERT,UPDATE或DELETE更新語句影響的行數

1四、mysql_list_dbs()-獲取數據庫列表信息
格式:
    resource mysql_list_dbs([resource link_id])
例:
    mysql_connect("localhost", "username", "password");
    $dbs = mysql_list_dbs();
    echo "Databases: <br />";
    while (list($db) = mysql_fetch_rows($dbs)) {
        echo "$db <br />";
    }
說明:顯示全部數據庫名稱

1五、mysql_db_name()-獲取數據庫名
格式:
    string mysql_db_name(resource result_set, integer index) 
說明:該函數獲取在mysql_list_dbs()所返回result_set中位於指定index索引的數據庫名

1六、mysql_list_tables()-獲取數據庫表列表
格式:
    resource mysql_list_tables(string database [, resource link_id])
例:
    mysql_connect("localhost", "username", "password");
    $tables = mysql_list_tables("MyDatabase");
    while (list($table) = mysql_fetch_row($tables)) {
        echo "$table <br />";
    } 
說明:該函數獲取database中全部表的表名

1七、mysql_tablename()-獲取某個數據庫表名
格式:
    string mysql_tablename(resource result_set, integer index)
例:
    mysql_connect("localhost", "username", "password");
    $tables = mysql_list_tables("MyDatabase");
    $count = -1;
    while (++$count < mysql_numrows($tables)) {
        echo mysql_tablename($tables, $count)."<br />";
    }
說明:該函數獲取mysql_list_tables()所返回result_set中位於指定index索引的表名

1八、mysql_fetch_field()-獲取字段信息
格式:
    object mysql_fetch_field(resource result [, int field_offset])
例:
    mysql_connect("localhost", "username", "password");
    mysql_select_db("MyDatabase");
    $query = "select * from MyTable";
    $result = mysql_query($query);
    $counts = mysql_num_fields($result);
    for($count = 0; $count < $counts; $count++) {
       $field = mysql_fetch_field($result, $count);
       echo "<p>$field->name $field->type ($field->max_length) </p>";
    } 
說明:
返回的對象共有12個對象屬性:
name: 字段名
table: 字段所在的表
max_length:字段的最大長度
not_null: 若是字段不能爲null,則爲1,不然0
primary_key: 若是字段爲主鍵,則爲1,不然0
unique_key: 若是字段是惟一鍵,則爲1, 不然0
multiple_key: 若是字段爲非惟一,則爲1,不然0
numeric: 若是字段爲數值則爲1,不然0
blob: 若是字段爲BLOB則爲1,不然爲0
type: 字段的數據類型
unsigned: 若是字段爲無符號數則爲1,不然爲0
zerofill: 若是字段爲「零填充」則爲1, 不然爲0

1九、mysql_num_fields()-獲取查詢的字段個數
格式:
    integer mysql_num_fields(resource result_set)
例:
    $query = "select id,name from MyTable order by name";
    $result = mysql_query($query);
    echo "這個查詢的字段數是:".mysql_num_fields($result)."<br />";

20、mysql_list_fields()-獲取指定表的全部字段的字段名
格式:
    resource mysql_list_fields (string database_name, string table_name [, resource link_id])
例:
    $fields =mysql_list_fields("MyDatabase", "MyTable");
    echo "數據庫MyDatabase中表MyTable的字段數: ".mysql_num_fields($fields)."<br />";

2一、mysql_field_flags()-獲取指定的字段選項
格式:
    string mysql_field_flags (resource result_set, integer field_offset)
例:
    $query = "select id, name from MyTable order by name";
    $result = mysql_query($query);
    $row=mysql_fetch_wor($row);

2二、mysql_field_len()-獲取指定的字段的最大長度
格式:
    integer mysql_field_len (resource result_set, integer field_offset)
例:
    $query = "select name from MyTable";
    $result = mysql_query($query);
    $row = mysql_fetch_row($result);
    echo mysql_field_len($result, 0)."<br />"; 
說明:
若是mysql_field_len($reseult, 0) = 16777215
那麼numer_format(mysql_field_len($result))等於16,777,215

2三、mysql_field_name()-獲取字段名
格式:
    string mysql_field_name (resource result_set, int field_offset)
例:
    $query = "select id as PKID, name from MyTable order by name";
    $result = mysql_query($query);
    $row = mysql_fetch_row($result);
    echo mysql_field_name($result, 0); // Result: PKID

2四、mysql_field_type()-獲取字段類型
格式:
    string mysql_field_type (resource result_set, int field_offset)
例:
    $query = "select id, name from MyTable order by name";
    $result = mysql_query($query);
    $row = mysql_fetch_row($result);
    echo mysql_field_type($result, 0); // Result: int

2五、mysql_field_table()-獲取字段所在表名
格式:
    string mysql_field_table (resource result_set, int field_offset)
例:
    $query = "select id as PKID, name from MyTable order by name";
    $result = mysql_query($query);
    $row = mysql_fetch_row($result);
    echo mysql_field_table($result, 0); // Result: MyTable

相關文章
相關標籤/搜索