當前位置:首頁 » 編程語言 » phpmanual

phpmanual

發布時間: 2024-05-08 23:19:50

php資料庫

PHP調用三種資料庫的方法

本文比較詳細的介紹PHP調用Mysql、ODBC以及ORACLE資料庫。

MySQL是一個小巧靈瓏的資料庫伺服器軟體,對於中、小型應用系統是非常理想的。除了支持標準的ANSI SQL語句外,最重要的是,它還支持多種平台,而在Unix/linux系統上,MySQL支持多線程運行方式,從而能獲得相當好的性能。它和PHP、 Apache一樣,是屬於開放源代碼軟體。其官方網站是:,上面提供Windows,Linux,Unix版本的源代碼的下載。

注意,MySQL訪問函數都需要有相應的許可權才能運行。常用的相關函數介紹如下:

(1)integer mysql_connect(主機,用戶名,口令);

此函數開始一個對指定主機上的MySQL資料庫的連接。若該資料庫位於一個不同地埠,則在主機名後加上冒號和埠號。所有參數均為可選的,預設情況下分別對應為本地主機、用戶正在執行的腳本名和空。主機可以是IP地址或域名。

在腳本執行結束時,連接被自動關閉,也可以用mysql_close提前關閉。

(2)boolean mysql_create_db(資料庫名);

創建一個資料庫。注意必須用一個帶有創建資料庫許可權的帳號打開連接。

(3)boolean mysql_select_db(資料庫名,連接號);

選擇預設資料庫。

(4)integer mysql_query(SQL語句,連接號);

對指定資料庫進行查詢。如果SQL語句是select,則返回一個結果號,否則返回的值可以不理會。如果失敗,返回false.。

(5)array mysql_fetch_array(結果號);

取出下一行,返回一個數組.可以用數字下標訪問(第一個欄位是下標 0),也可以用字元串下標訪問(即使用各欄位名)。如已取了最後一行,返回 false.。

(6)mysql_fetch_row(結果號);

返回一個矩陣代表結果集中一行的所有域。每次調用都會產生下一行,直到沒有行剩下時返回false。每個域值都由一個從零開始的偏移量索引。這是從查詢中獲取結果的最快方法。

(7)integer mysql_num_rows(結果號);

返回結果集中行的數目

(8)integer mysql_num_fields(結果號);

返回結果集中域的數目。

(9)integer mysql_list_dbs();

向伺服器查詢資料庫列表。它返回一個結果指針,該指針可用於mysql_fetch_row函數及類似函數。

(10)mysql_list_tables(資料庫名);

獲取一個指向指定資料庫的表單列表的結果指針。該結果指針可用於任何從結果集中獲取行的函數。

(11)mysql_close(連接號);

關閉對資料庫的連接。連接必須是由mysql_connect打開的。該函數的使用不是嚴格必需的,因為在腳本結束時,所有非永久鏈路都會被自動關閉。

(12)mysql_pconnect(主機,用戶名,口令);

與mysql_connect完全相似,但建立一個"永久連接",該連接一經建立永不關閉,即使使用mysql_close函數或程序執行完畢也不關閉.下一次試圖建立永久連接時,系統如發現已存在一個永久連接,則直接返回該連接號而不重新創建。

下面是一個調用MYSQL資料庫並分頁顯示的例子。

<?

$pagesize = 5; //每頁顯示5條記錄

$host="localhost";

$user="user";

$password="psw";

$dbname="book"; //所查詢的庫表名;

//連接MySQL資料庫

mysql_connect("$host","$user","$password") or die("無法連接MySQL資料庫伺服器!");

$db = mysql_select_db("$dbname") or die("無法連接資料庫!");

$sql = "select count(*) as total from pagetest";//生成查詢記錄數的SQL語句

$rst = mysql_query($sql) or die("無法執行SQL語句:$sql !"); //查詢記錄數

$row = mysql_fetch_array($rst) or die("沒有更多的記錄!"); /取出一條記錄

$rowcount = $row["total"];//取出記錄數

mysql_free_result($rst) or die("無法釋放result資源!"); //釋放result資源

$pagecount = bcdiv($rowcount+$pagesize-1,$pagesize,0);//算出總共有幾頁

if(!isset($pageno)) {

$pageno = 1; //在沒有設置pageno時,預設為顯示第1頁

}

if($pageno<1) {

$pageno = 1; //若pageno比1小,則把它設置為1

}

if($pageno>$pagecount) {

$pageno = $pagecount; //若pageno比總共的頁數大,則把它設置為最後一頁

}

if($pageno>0) {

$href = eregi_replace("%2f","/",urlencode($PHP_SELF));//把$PHP_SELF轉換為可以在URL上使用的字元串,這樣的話就可以處理中文目錄或中文文件名

if($pageno>1){//顯示上一頁的褳接

echo "<a href="" . $href . "?pageno=" . ($pageno-1) . "">上一頁</a> ";

}

else{

echo "上一頁";

}

for($i=1;$i<$pageno;$i++){

echo "<a href="" . $href . "?pageno=" . $i . "">" . $i . "</a> ";

}

echo $pageno . " ";

for($i++;$i<=$pagecount;$i++){

echo "<a href="" . $href . "?pageno=" . $i . "">" . $i . "</a> ";

}

if($pageno<$pagecount){//顯示下一頁的褳接

echo "<a href="" . $href . "?pageno=" . ($pageno+1) . "">下一頁</a> ";

}

else{

echo "下一頁 ";

}

$offset = ($pageno-1) * $pagesize;//算出本頁第一條記錄在整個表中的位置(第一條記錄為0)

$sql = "select * from pagetest LIMIT $offset,$pagesize";//生成查詢本頁數據的SQL語句

$rst = mysql_query($sql);//查詢本頁數據

$num_fields = mysql_num_fields($rst);//取得欄位總數

$i = 0;

while($i<$num_fields){//取得所有欄位的名字

$fields[$i] = mysql_field_name($rst,$i);//取得第i+1個欄位的名字

$i++;

}

echo "<table border="1" cellspacing="0" cellpadding="0">";//開始輸出表格

echo "<tr>";

reset($fields);

while(list(,$field_name)=each($fields)){//顯示欄位名稱

echo "<th>$field_name</th>";

}

echo "</tr>";

while($row=mysql_fetch_array($rst)){//顯示本頁數據

echo "<tr>";

reset($fields);

while(list(,$field_name)=each($fields)){//顯示每個欄位的值

$field_value = $row[$field_name];

if($field_value==""){

echo "<td> </td>";

}

else{

echo "<td>$field_value</td>";

}

}

echo "</tr>";

}

echo "</table>";//表格輸出結束

mysql_free_result($rst) or die("無法釋放result資源!");//釋放result資源

}

else{

echo "目前該表中沒有任何數據!";

}

mysql_close($server) or die("無法與伺服器斷開連接!");//斷開連接並釋放資源

?>

開放資料庫連接(ODBC)已成為一種與資料庫進行通信的工業標准。PHP也提供了標準的介面,使得PHP能調用Access,SQL SERVER等資料庫。其相關函數是:

(1)integer odbc_connect(string dsn, string user, string password)

連接到一個ODBC資料庫源名字上。

(2)integer odbc_exec(integer connection, string query)或 odbc_do(integer connection, string query)

在一個連接上執行查詢。

(3)boolean odbc_fetch_row(integer result, integer row)

從一個結果集中獲取一行數據。Row參數是可選的,若為空缺,則返回下一個有效行。在結果集中不再剩餘行時返回false。

(4)boolean odbc_close(integer connection)

關閉一個資料庫的連接。若在該連接上有打開的事務,則返回一個錯誤,而且連接不會被關閉。

最後,還是看個分頁的例子:

<?

//設定每頁顯示條數

$show_num = 10;

$spages = $pages;//避免$pages後期被改變

//定義連接

$dsn = "localhost";

$user = "sa";

$password = "";

//計算總記錄數

$rs_num = "select count(*) as id from bbs where zu='0' and lei='".$lei."'";

$conn_id = odbc_connect($dsn,$user,$password);

$rnum = odbc_exec($conn_id,$rs_num);

while(odbc_fetch_row($rnum)){

$total_rs = odbc_result($rnum,"id");//將總記錄數放入$total_rs變數

}

//計算與頁有關的條數

$nnn = $total_rs / $show_num;//計算總頁數

$hnnn = intval($nnn);//將總頁數取整

$cnnnn = $nnn - $hnnn;

//計算所需總頁數

switch ($cnnn){

case "0":

$hnnn++;

$nnn = $hnnn;//總頁數

break;

default :

$nnn = $hnnn;//總頁數

break;

};

if ($nnn == 0)$nnn++;

//計算頁面改變所需的條件

$fore = $pages;

$next = $pages;

$fore -= 1;

$next += 1;

if ($fore > 0) {

echo "<a>首頁</a>";

echo "<a>前頁</a>";

};

if ($pages < $nnn) {

echo "<a>後頁</a>";

echo "<a>尾頁</a>";

};

echo "共".$nnn."頁";

$query_string = "SELECT * FROM table where condition order by you wanted order";

$cur = odbc_exec($conn_id,$query_string);

//取到循環的頂部

$cnum = ($pages-1) * $show_num;//計算當前的記錄游標的位置

//空循環到顯示記錄游標處
if ($cnum != 0){

for ($i=0;$i<=$cnum;odbc_fetch_row($cur));

};

$i=1;

//顯示記錄

while(odbc_fetch_row($cur)){

echo ;

if ($i == $show_num){//在不滿頁數時跳出程序

break;

};

$i++;

};

//關閉連接

odbc_close($conn_id);

?>

Oracle(甲骨文)是世界上最為流行的關系資料庫。它是大公司推崇的工業化的強有力的引擎。我們先看看其相關的函數:

(1)integer ora_logon(string user , string password)

開始對一個Oracle資料庫伺服器的連接。

(2)integer ora_open(integer connection)

打開給出的連接的游標。

(3)integer ora_do(integer connection, string query)

在給出的連接上執行查詢。PHP生成一個指示器,解析查詢,並執行之。

(4)integer ora_parse(integer cursor, string query)

解析一個查詢並准備好執行。

(5)boolean ora_exec(integer cursor)

執行一個先前由ora_parse函數解析過的查詢。

(6)boolean ora_fetch(integer cursor)

此函數會使得一個執行過的查詢中的行被取到指示器中。這使得您可以調用ora_getcolumn函數。

(7)string ora_getcolumn(integer cursor, integer column)

返回當前的值。列由零開始的數字索引。

(8)boolean ora_logoff(integer connection)

斷開對資料庫伺服器的鏈接。

以下是向ORACLE資料庫插入數據的示常式序:

<html>

<head><title>向ORACLE資料庫中插入數據</title></head>

<body>

<form action="<?echo $PHP_SELF;?>" method="post">

<table border="1" cellspacing="0" cellpadding="0">

<tr>

<th>ID</th>

<th>name</th>

<th>Description</th>

</tr>

<tr>

<td><input type="text" name="name" maxlength="50" size="10"></td>

<td><input type="text" name="email" maxlength="255" size="30"></td>

<td><input type="text" name="Description" maxlength="255" size="50"></td>

</tr>

<tr align="center">

<td colspan="3"><input type="submit" value="提交"><input type="reset" value="重寫"></td>

</tr>

</table>

</form>

<?

//先設置兩個環境變數ORACLE_HOME,ORACLE_SID

putenv("ORACLE_HOME=/oracle/app/oracle/proct/8.0.4");

putenv("ORACLE_SID=ora8");

//設置網頁顯示中文

putenv("NLS_LANG=Simplified_Chinese.zhs16cgb231280");

if($connection=ora_logon("scott","tiger")) {

//庫表test有ID,name,Description三項

$sql = 'insert into test(ID,name,Description) values ';

$sql .= '('' . $ID . '','' . $name . '',''. $Description . '')';

if($cursor=ora_do($connect,$sql)) {

print("insert finished!");

}

$query = 'select * from test';

if($cursor=ora_do($connect,$query)) {

ora_fetch($cursor);

$content0=ora_getcolumn($cursor,0);

$content1=ora_getcolumn($cursor,1);

$content2=ora_getcolumn($cursor,2);

print("$content0");

print("$content1");

print("$content2");

ora_close($cursor);

}

ora_logoff($connection);

}

?>

</body>

</html>
通過PHP你可以輕松的連接到資料庫,請求數據並將其顯示在你的web站點中,甚至修改資料庫中的數據。 MySQL是一種很流行的資料庫,並且在互聯網中有許多有關PHP與MySQL的教程。MySQL是免費的,這一點也許就吸引了不少人。由於其廣泛應用, 我就不想在這里贅述MySQL的使用方法了。Oracle被大量在企業應用中採用,因此我們就利用Oracle來介紹PHP與資料庫的連接。我們當然不會 提及Oracle資料庫的設計原理,原因是這已經超出了我們的討論范圍。
PHP提供了兩套函數與Oracle連接,分別是ORA_和OCI函數。其中ORA_函數略顯陳舊。OCI函數更新據說更好一些。兩者的使用語法幾乎相差無幾。如前所述,你的PHP安裝選項應該可以支持兩者的使用。
想獲得更多有關在Microsoft Windows平台上安裝支持PHP3的Apache伺服器的知識以及更多有關Oracle資料庫的知識,請查閱以下URL:。
4.1 連接

if ($conn=Ora_Logon("user@TNSNAME","password"))
{
echo "SUCCESS ! Connected to database\n";
}
else
{
echo "Failed :-( Could not connect to database\n";
}
Ora_Logoff($conn);
phpinfo();
?>
以上代碼使用TNSNAME(在你的tnsnames.ora文件中指明)定義的Oracle資料庫名稱、用戶名稱和密碼連接資料庫。在成功連接的基礎上,ora_logon函數返回一個非零的連接ID並儲存在變數$conn中。

4.2 查詢

假設與資料庫已經連接就緒,下面我們就來實際的應用對資料庫的查詢。下面的代碼演示了一個連接並查詢的典型例子:
/*
* 連接資料庫並執行查詢
*/
function printoraerr($in_cur)
{
// 檢查Oracle是否出錯
// 如果存在錯誤則顯示
// 當指針被激活時每次請求Oracle後調用該函數
if(ora_errorcode($in_cur))
echo "Oracle code - ".ora_error($in_cur)."\n";
return;
}
/** 主程序 */
if (!($conn=ora_logon("user@TNSNAME","password")))
{
echo "Connection to database failed\n";
exit;
}
echo "Connected as connection - $conn
\n";
echo "Opening cursor ...
\n";
$cursor=ora_open($conn); printoraerr($cursor);
echo "Opened cursor - $cursor
\n";
$qry="select user,sysdate from al";
echo "Parsing the query $qry ...
\n";
ora_parse($cursor,$qry,0); printoraerr($cursor);
echo "Query parsed
\n";
echo "Executing cursor ...
\n";
ora_exec($cursor); printoraerr($cursor);
echo "Executed cursor
\n";
echo "Fetching cursor ...
\n";
while(ora_fetch($cursor))
{
$user=ora_getcolumn($cursor,0); printoraerr($cursor);
$sysdate=ora_getcolumn($cursor,1); printoraerr($cursor);
echo " row = $user, $sysdate
\n";
}
echo "Fetched all records
\n";
echo "Closing cursor ...
\n";
ora_close($cursor);
echo "Closed cursor
\n";
echo "Logging off from oracle...
\n";
ora_logoff($conn);
echo "Logged off from oracle
\n";
?>
(譯者註:以上代碼段缺少注釋,請讀者參考PHP Manual的Oracle資料庫函數部分)

4.3 顯示結果

以下代碼演示了怎樣查詢資料庫並將結果輸出:
function printoraerr($in_cur, $conn)
{
// 檢查Oracle是否出錯
// 如果存在錯誤則顯示
// 當指針被激活時每次請求Oracle後調用該函數
// If it encountered an error, we exit immediately
if(ora_errorcode($in_cur))
{
echo "Oracle code - ".ora_error($in_cur)."
n";
ora_logoff($conn);
exit;
}
return;
}

function exequery($w_qry,$conn)
{
$cursor=ora_open($conn); printoraerr($cursor,$conn);
ora_parse($cursor,$w_qry,0); printoraerr($cursor,$conn);
ora_exec($cursor); printoraerr($cursor,$conn);
$numrows=0;
$w_numcols=ora_numcols($cursor);
// 顯示頭部
echo "

\n";
for ($i=0;$i<$w_numcols;$i++)
{
$align=(ora_columntype($cursor,$i)=="NUMBER")?"RIGHT":"LEFT";
echo "\t ".ora_columnname($cursor,$i)." \n";
}
echo "
\n";
while(ora_fetch($cursor))
{
echo " \n";
for ($i=0;$i<$w_numcols;$i++)
{
$align=(ora_columntype($cursor,$i)=="NUMBER")?"RIGHT":"LEFT";
if(ora_columntype($cursor,$i)=="LONG")
echo " ".
ora_getcolumn($cursor,$i)."
\n";
else
echo " ".ora_getcolumn($cursor,$i)." \n";
printoraerr($cursor,$conn);
}
$numrows++;
echo "
\n";
}
if ($numrows==0)
echo " Query returned no records

\n";
else
{
echo " \n";
echo " Count \n";
echo " $numrows \n";
echo "
\n";
}
echo " \n";
ora_close($cursor);
return;
}

// 主程序
if(!($conn=ora_logon("user@SID","password")))
{
echo "Error: Cannot connect to database\n";
exit;
}
$qry="SELECT
deptno \"Dept\"
,empno \"Emp\"
,empnm \"Name\"
,salary \"Salary\"
FROM
employee
ORDER BY 1,2";
exequery($qry);
ora_logoff($conn);
?>
(譯者註:以上代碼段缺少注釋,請讀者參考PHP Manual的Oracle資料庫函數部分)

4.4 基於HTTP的Oracle登錄

將以下代碼加在PHP頁面代碼之前以確認Oracle登錄。注意你必須正確設定$ SID。
if(!isset($PHP_AUTH_USER))
{
Header("WWW-authenticate: basic realm=\"$SID\"");
Header("HTTP/1.0 401 Unauthorized");
$title="Login Instructions";
echo "

You are not authorized to enter the site

\n";
exit;
}
else
{
if (!($conn=ora_logon("$PHP_AUTH_USER@$SID",$PHP_AUTH_PW)))
{
Header("WWW-authenticate: basic realm=\"$SID\"");
Header("HTTP/1.0 401 Unauthorized");
$title="Login Instructions";
echo "

You are not authorised to enter the site

\n";
exit;
}
}
?>

⑵ 比較常用的幾個PHP開發工具

1、瀏覽器擴展組件工具(Firefox擴展)--

FirePHP FirePHP是一款基於Firebug的擴展,phpLangEditor 一款PHP函數庫解釋工具。 PHP Lookup :是一個內置的搜索欄,以幫助您快速查找引用的PHP語法。 PHP ManualSearch :一個方便的搜索欄,從您的Web瀏覽器中搜索官方PHP文檔。

2、PHP代碼調試工具--

Webgrind Webgrind完美支持PHP 5,安裝迅速簡便,可以跨越多個平台運行。 Xdebug Xdebug是使用極為廣泛的PHP代碼調試工具,它提供大量的工具幫助你找出程序中潛在的BUG,並且它得到了很多PHP開發工具的支持,以做為專門的測試工具繼承在這些開發工具中,比如PHPEclipse、phpDesigner等。

3、PHP框架支持--

Dwoo :PHP5 的模板引擎。CodeIgniter 用於敏捷軟體開發的PHP框架。 YII Framework :一個高性能的基於組件的PHP框架。 NetBeans :強大的PHP擴展框架支持集,擁有完善的GUI界面,獨自成為一款強大的PHP開發工具。 Solar symfony :一個開源的PHP Web框架,加速Web應用程序開發的創建與維護。

4、PHP代碼測試、優化工具--

PHPUnit :一款基於PHP 5的JUnit組件測試工具。 SimpleTest SimpleTest是一款高度集成的PHP代碼測試工具。 Selenium :一款專業全自動WEB站點PHP代碼測試工具,比較側重的UI輸入輸出數據測試。PHP_CodeSniffer dBug 一款專注於測試類、對象、數組以及XML文件的PHP工具。 PHP Profile Class

5、PHP擴展、工具集、類庫支持--

SimplePie 此工具可用於PHP RSS解析。 HTML Purifier :此工具可以用來移除所有惡意代碼(XSS),而且還能確保你的頁面遵循W3C的標准規范。 TCPDF :一個可以用於快速生成PDF文件的PHP5函數包。 htmlSQL :一組可以使你方便的對HTML和XML內容方便的使用類似SQL語句進行檢索的PHP類集。

6、PHP集成開發環境(IDE)、編輯器--

PHPEclipse 一個強大的Eclipse環境下開發PHP的插件,包括的主要功能有:PHP語法分析,調試,代碼格式化,大綱視圖,代碼模板定製等。 PhpED 一套Windows環境下的PHP集成開發環境。phpDesigner 一款輕量級的PHP集成開發工具,代碼編輯器功能特別強大,支持在線預覽。 ZendStudio 一 款Eclipse下優秀的PHP開發環境,適用於開發包含豐富介面的RIAs應用程序。

7、PHP在線工具及資源--

Minify:該工具使用 PHP5 開發,用於合並壓縮js/css 文件的應用程序,合並壓縮之後的結果可通過 HTTP gzip/deflate 及一些相關頭,優化客戶端緩存。 HTTP_StaticMerger:CSS和java script文件自動"合並"。 PHP Object Generator 一款PHP代碼生成器,它能夠為你的PHP4/PHP5應用程序生成簡潔和可測試的面向對象代碼。

⑶ php 如何獲取伺服器的信息

伺服器變數 $_SERVER 詳解:

1、$_SESSION['PHP_SELF'] — 獲取當前正在執行腳本的文件名

2、$_SERVER['SERVER_PROTOCOL'] — 請求頁面時通信協議的名稱和版本。例如,「HTTP/1.0」。

3、$_SERVER['REQUEST_TIME'] — 請求開始時的時間戳。從 PHP 5.1.0 起有效。和time函數效果一樣。

4、$_SERVER['argv'] — 傳遞給該腳本的參數。我試了下,get方法可以得到$_SERVER['argv'][0];post方法無法給他賦值。

5、$_SERVER['SERVER_NAME'] — 返回當前主機名。

6、$_SERVER['SERVER_SOFTWARE'] — 伺服器標識的字串,在響應請求時的頭信息中給出。 如Microsoft-IIS/6.0

7、$_SERVER['REQUEST_METHOD'] — 訪問頁面時的請求方法。例如:「GET」、「HEAD」,「POST」,「PUT」。

8、$_SERVER['QUERY_STRING'] — 查詢(query)的字元串(URL 中第一個問號 ? 之後的內容)。

9、$_SERVER['DOCUMENT_ROOT'] — 當前運行腳本所在的文檔根目錄。在伺服器配置文件中定義。 如E:\server

10、$_SERVER['HTTP_ACCEPT'] — 當前請求的 Accept: 頭信息的內容。

11、$_SERVER['HTTP_ACCEPT_CHARSET'] — 當前請求的 Accept-Charset: 頭信息的內容。例如:「iso-8859-1,*,utf-8」。

12、$_SERVER['HTTP_ACCEPT_ENCODING'] — 當前請求的 Accept-Encoding: 頭信息的內容。例如:「gzip」。

13、$_SERVER['HTTP_ACCEPT_LANGUAGE'] — 當前請求的 Accept-Language: 頭信息的內容。例如:「en」。

14、$_SERVER['HTTP_CONNECTION'] — 當前請求的 Connection: 頭信息的內容。例如:「Keep-Alive」。

15、$_SERVER['HTTP_HOST'] — 當前請求的 Host: 頭信息的內容。

16、$_SERVER['HTTP_REFERER'] — 鏈接到當前頁面的前一頁面的 URL 地址。

17、$_SERVER['HTTP_USER_AGENT'] — 返回用戶使用的瀏覽器信息。也可以使用 get_browser() 得到此信息。

18、$_SERVER['HTTPS'] — 如果通過https訪問,則被設為一個非空的值,否則返回off.

19、$_SERVER['REMOTE_ADDR'] — 正在瀏覽當前頁面用戶的 IP 地址。

20、$_SERVER['REMOTE_HOST'] — 正在瀏覽當前頁面用戶的主機名。反向域名解析基於該用戶的 REMOTE_ADDR。如本地測試返回127.0.0.1

21、$_SERVER['REMOTE_PORT'] — 用戶連接到伺服器時所使用的埠。我在本機測試沒通過,不知道什麼原因。

22、$_SERVER['SCRIPT_FILENAME'] — 當前執行腳本的絕對路徑名。如返回E:\server\index.php

23、$_SERVER['SERVER_ADMIN'] — 該值指明了 Apache 伺服器配置文件中的 SERVER_ADMIN 參數。如果腳本運行在一個虛擬主機上,則該值是那個虛擬主機的值

24、$_SERVER['SERVER_PORT'] — 伺服器所使用的埠。默認為「80」。如果使用 SSL 安全連接,則這個值為用戶設置的 HTTP 埠。

25、$_SERVER['SERVER_SIGNATURE'] — 包含伺服器版本和虛擬主機名的字元串。

26、$_SERVER['PATH_TRANSLATED'] — 當前腳本所在文件系統(不是文檔根目錄)的基本路徑。這是在伺服器進行虛擬到真實路徑的映像後的結果。 Apache 2 用 戶可以使用 httpd.conf 中的 AcceptPathInfo On 來定義 PATH_INFO。

27、$_SERVER['SCRIPT_NAME'] — 包含當前腳本的路徑。這在頁面需要指向自己時非常有用。__FILE__ 包含當前文件的絕對路徑和文件名(例如包含文件)。

28、$_SERVER['REQUEST_URI'] — 訪問此頁面所需的 URI。例如,「/index.html」。

29、$_SERVER['PHP_AUTH_DIGEST'] — 當作為 Apache 模塊運行時,進行 HTTP Digest 認證的過程中,此變數被設置成客戶端發送的「Authorization」HTTP 頭內容(以便作進一步的認證操作)。

30、$_SERVER['PHP_AUTH_USER']– 當 PHP 運行在 Apache 或 IIS(PHP 5 是 ISAPI)模塊方式下,並且正在使用 HTTP 認證功能,這個變數便是用戶輸入的用戶名。

31、$_SERVER['PHP_AUTH_PW'] — 當 PHP 運行在 Apache 或 IIS(PHP 5 是 ISAPI)模塊方式下,並且正在使用 HTTP 認證功能,這個變數便是用戶輸入的密碼。

32、$_SERVER['AUTH_TYPE']–當 PHP 運行在 Apache 模塊方式下,並且正在使用 HTTP 認證功能,這個變數便是認證的類型。

⑷ PHP5程序設計和PHP手冊的區別

O'Reilly Learning PHP & MySQL 第二版
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=170283
PHP 5 傻瓜書
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=156854
PHP官方參考手冊 中文+英文CHM版
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=174312
Upgrading to PHP 5
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=172787
Wrox Beginning PHP 5
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=146843
PHP 5 Advanced
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=152684
PHP 5與MySQL編程初學者指南
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=152044
PHP 5和MySQL 5 從入門到精通 PDF文字版
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=166059
PHP 4.1 從入門到精通
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=159334
O'Reilly PHP Cookbook 第二版
http://bbs.topsage.com/dispbbs_123_171395_1.html
Wicked Cool PHP 附隨書源碼
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=185238
Pro PHP 模式、框架、測試等 [Apress出版]
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=185237
How to Do Everything with PHP and MySQL
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=175991
PHP & MySQL Web Development
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=175913
PHP Programming Solutions
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=173163
PHP Objects Patterns and Practice
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=173160
Learning PHP Data Objects
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=173151
Beginning PHP and MySQL E-Commerce從入門到精通 第二版
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=184708
Beginning PHP and PostgreSQL 8 從入門到精通
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=184152
Beginning Ajax with PHP 從入門到精通
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=183606
PHP技術內幕
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=159332
PHP最新參考手冊
http://bbs.topsage.com/dispbbs.asp?BoardID=123&ID=146233
PHP程序設計
http://bbs.topsage.com/dispbbs.asp?BoardID=123&ID=146171
PHP經典100例
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=152400
PHP by Example
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=176304
Object Oriented PHP Concepts Techniques and Code
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=152398
The PHP Anthology 第二版
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=167353
PHP API使用完全指南
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=164843
Wiley出版 Makeing Use of PHP
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=166790
PHP實例教程
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=152574
PHP in Action
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=152648
PHP+MySQL網路開發技術
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=156149
PHP設計模式構架師指南
http://bbs.topsage.com/dispbbs_123_171267_1.html
Dreamweaver CS3 with CSS, Ajax, and PHP
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=147123
AJAX and PHP Building Responsive Web Applications
http://bbs.topsage.com/dispbbs.asp?BoardID=123&ID=151261
Beginning Ajax with PHP
http://bbs.topsage.com/dispbbs.asp?BoardID=123&ID=146176
PHP Programming with PEAR
http://bbs.topsage.com/dispbbs.asp?BoardID=123&ID=148389
PHP MySQL and Apache自學教程
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=146232
PHP Apache和MySQL網頁開發初步
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=148871
24小時學會使用PHP MySQL Apache
http://bbs.topsage.com/dispbbs.asp?BoardID=123&ID=149004
PHP MySQL 網路應用程序開發核心
http://bbs.topsage.com/dispbbs.asp?BoardID=123&ID=149005
Professional LAMP - Linux,Apache,MySQL and PHP 5 Web Development
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=152045
Setting Up LAMP - Getting Linux Apache MySQL and PHP Working Together
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=157654
Beginning PHP,Apache,MySQL Web Developmnet
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=151985
Beginning PHP and Oracle 從入門到精通
http://bbs.topsage.com/dispbbs_123_171292_1.html
PHP Data Objects for MySQL
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=152186
MySQL and PHP from Scratch
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=152162
Extending and Embedding PHP
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=152160
Wiley出版 Secure PHP Development
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=165544
O'Reilly Building Tag Clouds in Perl and PHP
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=152158
Wrox Professional Apache Tomcat 5
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=152054
PHP MySQL編程初學者指南
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=158793
Beginning PHP and Oracle (PDF文字版)
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=159155
Advanced PHP for Web Professionals
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=159168
Essential PHP Security
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=175045
Pro PHP XML and Web Services
http://bbs.topsage.com/dispbbs_123_171266_1.html
Apache Server 2.0 實用指南
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=159297
Apache管理員手冊
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=159296
Apache使用指南與實現原理
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=159287
PHP專業項目實例開發 中文PDF版
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=159322
PHP高級開發技術與實例 中文PDF影版
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=159319
PHP 5 for Flash
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=159407
O'Reilly - Tomcat權威指南
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=160138
Wrox Professional Apache Tomcat 6
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=157418
Pro Jakarta Tomcat 5
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=160230
Foundations of PEAR - Rapid PHP Development
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=160612
Practical Web 2.0 Applications with PHP(Apress 2008最新版)
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=170237
Practical Apache Struts 2 Web 2.0 Projects
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=170311
Beginning Apache Struts從入門到精通
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=183597
掌握phpMyAdmin 2.11 PDF
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=184722

⑸ 學習PHP要從哪開始

PHP需要掌握的知識還是比較多的,最基本的比如:PHP基本的語法、php框架以及CMS、mysql資料庫設計表、mysql資料庫的基本SQL語句。現在一般PHP的都得會前端,那就包括:js/ajax、html、css。如果更高點層次的就是linux伺服器。
PHP攻城獅踐行學習路線圖:
1、用集成環境安裝PHP環境,一定要記住這一點,不要自己分開去裝,尤其是自學的朋友。不然你會覺得很復雜,會沒有信心學下去的。也要注意任何高手都不是一蹴而就的,是一步一步,不同的階段歷練才有最後的沉澱。
2、先了解一些基本的變數類型,語法,函數,基本邏輯,寫簡單的代碼。前期以嘗試,培養興趣為主。這段時間是打基礎很好的時候,這個會影響你後面的發展,不過也可以在後期去完善。
3、這時候你可能覺得PHP就這樣,沒什麼難度,或者有的覺得太難了,簡直一臉疑惑。這個到底有什麼用。在這時候一定要堅持下來,可以試試先放一下,別太較真。慢慢的困惑你的會被你領悟的。這時,建議學習html+css+js,緩解自己的壓力,這個相對簡單,簡歷信心。尤其是js,總結其實有相同的思路,可以結合著一起體會。
4、這些都感覺有80%了解就可以先放放了,現在在學習MySQL,也是先了解基礎的。這個是干什麼的,我可以用它做什麼。因為之前裝的集成環境。為什麼感覺是凌亂的,我想告訴你的是,一是不要在自己沒能力解決問題的時候死磕,浪費時間,喪失信心。這時候我們要做的是學習壯大自己,不要灰心。二是我本來覺得這一切都了解才是完整的。我們的目標也是要把這些都做好,這才是一個合格的PHP程序員。
5、這一切都順利的話,你基本離預設的目標不遠了,完成了整個學習的70%了。後面的是在之前的基礎上升華。把HTML和css、js結合、靜態文件和PHP結合、PHP和MySQL結合。這個階段可能越到的問題會異常的多,一定要學會解決問題。網上很多都是答案,同樣你要學會問問題。
6、這些之後你基本已經快到學習的尾聲了,但還缺少經驗。這時,你可以看一些網上開源的cms,例如織夢,國內用的多,越到問題好解決。看看一些視頻(網上免費的很多),查漏補缺,總結歸納形成自己的知識體系。是時候該准備慶祝下自己這段的時間沒有白費(一般2到3各月,看平時每天花的時間),基本成為一個合格的PHP程序員了。也該恭喜你了,其實並不那麼難。堅持,堅持;努力,努力;學習,學習

⑹ PHP的參考手冊

函數完整參考手冊: 序號分類描述1Array 函數2Calendar 函數日歷擴展包含了簡化不同日歷格式間的轉換的函數。 3Date/Time 函數Date/Time 函數用於從 PHP 腳本運行的伺服器上獲取日期和時間並進行格式化。 4Directory 函數Directory 函數用於獲得關於目錄及其內容的信息。 5Error/Logging 函數Error/Logging 函數用於對錯誤進行處理和記錄。 6Filesystem 函數Filesystem 函數用於訪問和操作文件系統。 7Filter 函數PHP 過濾器用於對來自非安全來源的數據(比如用戶輸入)進行驗證和過濾。 8FTP 函數FTP 函數通過文件傳輸協議 (FTP) 提供對文件伺服器的客戶端訪問。 9HTTP 函數HTTP 函數用於對由 Web 伺服器發送到瀏覽器的信息進行操作。 10Libxml 函數Libxml 函數和常量與 SimpleXML、XSLT 以及 DOM 函數一起使用。 11Mail 函數mail() 函數用於從腳本中直接發送電子郵件。 12Math 函數Math 函數能處理 integer 和 float 范圍內的值。 13雜項函數我們把不屬於其他類別的函數歸納到雜項函數類別。 14MySQLi 函數MySQLi 函數用於訪問 MySQL 資料庫伺服器。 15SimpleXML 函數SimpleXML 擴展提供了一種獲取 XML 元素的名稱和文本的簡單方式。16String 函數17XML Parser 函數XML Parser 函數允許您創建 XML 解析器,並為 XML 事件定義句柄。18Zip File 函數Zip File 函數允許您讀取壓縮文件。

⑺ php->是什麼意思

一、=>,->的意思:

->是對象執行方法或取得屬性用的。

=>是數組里鍵和值對應用的。

二、用法

1、=> 的用法數組中用於數組的key和value之間的關系例如:

$a=array('0'=>'1','2'=>'4',);echo$a['0'];echo$a['2'];

2、-> 的用法類中用於引用類實例的方法和屬性例如:

classTest{functionadd(){return$this->var++;}var$var=0;}$a=newTest;

//實例化對象名稱

echo$a->add();echo$a->var;

(7)phpmanual擴展閱讀

PHP中->代碼如下:

<?php

class Car {

public $speed = 0;

//增加speedUp方法,使speed加10

public function speedUp(){

$this->speed+=10;

}

}

$car = new Car();

$car->speedUp();

echo $car->speed;

?>

PHP中=>代碼如下:

<?php

//從數組變數$arr中,讀取鍵為apple的值

$arr = array('apple'=>"蘋果",'banana'=>"香蕉",'pineapple'=>"菠蘿");

$arr0=$arr["apple"];

if( isset($arr0) )

{print_r($arr0);

}

?>

熱點內容
我的世界創造房子伺服器 發布:2024-05-20 06:48:36 瀏覽:817
小米筆記本存儲不夠 發布:2024-05-20 06:32:53 瀏覽:783
dirt5需要什麼配置 發布:2024-05-20 06:02:58 瀏覽:542
怎麼把電腦鎖上密碼 發布:2024-05-20 05:19:09 瀏覽:985
安卓為什麼連上wifi後沒有網路 發布:2024-05-20 05:17:50 瀏覽:419
安卓usb在設置哪裡 發布:2024-05-20 05:03:03 瀏覽:187
綏化編程 發布:2024-05-20 04:59:44 瀏覽:991
基本原理和從頭計演算法 發布:2024-05-20 04:50:32 瀏覽:30
配置情況指的是什麼 發布:2024-05-20 04:48:14 瀏覽:497
那個程序用來編譯源文件 發布:2024-05-20 04:46:45 瀏覽:551