讓我們來(lái)編寫(xiě)一些PHP實(shí)用的腳本_PHP教程
推薦:加速動(dòng)態(tài)網(wǎng)站 MySQL索引分析和優(yōu)化本文主要講述了如何加速動(dòng)態(tài)網(wǎng)站的MySQL索引分析和優(yōu)化。 一、什么是索引? 索引用來(lái)快速地尋找那些具有特定值的記錄,所有MySQL索引都以B-樹(shù)的形式保存。如果沒(méi)有索引,執(zhí)行查詢時(shí)MySQL
現(xiàn)在讓我們來(lái)編寫(xiě)一些更實(shí)用的腳本。我們將檢查瀏覽頁(yè)面的訪問(wèn)者用了什么類(lèi)型的瀏覽器。要達(dá)到這個(gè)目的,我們需要檢查用戶的 agent 字符串,它是瀏覽器發(fā)送的 HTTP 請(qǐng)求的一部分。該信息被存儲(chǔ)在一個(gè)變量中。在 PHP 中,變量總是以一個(gè)美元符開(kāi)頭。我們現(xiàn)在感興趣的變量是 $_SERVER["HTTP_USER_AGENT"]。
注: $_SERVER 是一個(gè)特殊的 PHP 保留變量,它包含了 WEB 服務(wù)器提供的所有信息,被稱(chēng)為自動(dòng)全局變量(或“超級(jí)全局變量”)。請(qǐng)查閱本手冊(cè)“自動(dòng)全局變量”的有關(guān)內(nèi)容,以獲取更多信息。這些特殊的變量是在 PHP 4.1.0 版本引入的。在這之前,我們使用 $HTTP_*_VARS 數(shù)組,如 $HTTP_SERVER_VARS。盡管現(xiàn)在已經(jīng)不用了,但它們?cè)谛掳姹局腥匀淮嬖凇?/p>
要顯示該變量,我們只需簡(jiǎn)單地進(jìn)行如下操作:
例子. 打印一個(gè)變量(數(shù)組元素)
<?php echo $_SERVER["HTTP_USER_AGENT"]; ?>
該腳本的輸出可能是:
Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)
PHP 有很多種不同類(lèi)型的變量。在以上例子中我們打印了一個(gè)數(shù)組的元素。數(shù)組是一類(lèi)非常有用的變量。
$_SERVER 只是 PHP 自動(dòng)全局化的變量之一。您可以查閱“保留變量”一節(jié)來(lái)查看這些變量的列表,或者也可以建立如下的文件來(lái)得到一個(gè)完整的列表:
例子. 利用 phpinfo() 來(lái)顯示所有預(yù)定義變量
<?php phpinfo(); ?>
如果您在您的瀏覽器中打開(kāi)這個(gè)文件,您將看到關(guān)于 PHP 完整的信息,以及所有您可以使用的變量列表。
您可以在一個(gè) PHP 標(biāo)識(shí)中加入多個(gè) PHP 語(yǔ)句,也可以建立一個(gè)代碼塊來(lái)做比簡(jiǎn)單的 echo 更多的事情。例如,如果我們需要檢查 Internet Explorer,我們可以進(jìn)行如下操作:
例子. 結(jié)構(gòu)控制與函數(shù)的使用
<?php
if (strstr($_SERVER["HTTP_USER_AGENT"], "MSIE")) {
echo "You are using Internet Explorer<br />";
}
?>
該腳本的輸出可能是:
You are using Internet Explorer<br />
在這里我們要介紹一些新的原理。我們用了一個(gè) if 語(yǔ)句。如果您對(duì) C 語(yǔ)言的基本語(yǔ)法比較熟悉,則您應(yīng)該對(duì)此很熟悉,否則,您可能需要拿起任何一本 PHP 介紹性的書(shū)籍并閱讀前面的兩三個(gè)章節(jié)。
我們需要介紹的第二個(gè)原理,是對(duì) strpos() 函數(shù)的調(diào)用。strpos() 是 PHP 的一個(gè)內(nèi)建函數(shù),其功能是在一個(gè)字符串中搜索另外一個(gè)字符串。例如我們現(xiàn)在需要在 $_SERVER["HTTP_USER_AGENT"](即所謂的 haystack) 變量中尋找 "MSIE"。如果在這個(gè) haystack 中該字符串(即所謂的 needle)被找到,則函數(shù)返回 needle 在 haystack 中相對(duì)開(kāi)頭的位置;如果沒(méi)有,則返回 FALSE。如果該函數(shù)沒(méi)有返回 FALSE,則 if 會(huì)將條件判斷為 TRUE 并運(yùn)行其大括號(hào) {} 內(nèi)的代碼;否則,則不運(yùn)行這些代碼。您可以自己嘗試?yán)胕f、else以及其它的函數(shù),例如 strtoupper() 和 strlen(),來(lái)建立類(lèi)似的腳本。在本手冊(cè)中,相關(guān)的頁(yè)面也包含有范例。
以下我們進(jìn)一步顯示如何進(jìn)出 PHP 模式,甚至是在一個(gè) PHP 代碼塊的中間:
例子. 混和 HTML 和 PHP 模式
<?php
if (strpos($_SERVER["HTTP_USER_AGENT"], "MSIE") !== false) {
?>
<h3>strpos must have returned non-false</h3>
<center><b>You are using Internet Explorer</b></center>
<?php
} else {
?>
<h3>strpos must have returned false</h3>
<center><b>You are not using Internet Explorer</b></center>
<?php
}
?>
該腳本的輸出可能是:
<h3>strpos must have returned no-false</h3>
<center><b>You are using Internet Explorer</b></center>
和以上我們用一個(gè) PHP 的 echo 語(yǔ)句來(lái)輸出不同的是,我們跳出了 PHP 模式來(lái)直接寫(xiě) HTML 代碼。這里很值得注意的一點(diǎn)是,對(duì)于這兩種情況而言,腳本的邏輯效率是相同的。在判斷了 strpos() 函數(shù)的返回值是 TRUE 或是 FALSE,也就是判斷了字符串 MSIE 是否被找到之后,最終只有一個(gè) HTML 塊被發(fā)送給瀏覽者。
分享:教你用PHP寫(xiě)MySQL數(shù)據(jù)庫(kù)的用戶認(rèn)證系統(tǒng)用戶認(rèn)證的原理很簡(jiǎn)單:首先需要用戶在頁(yè)面上填入用戶名和密碼,當(dāng)然沒(méi)注冊(cè)的用戶需要先注冊(cè)。然后調(diào)用數(shù)據(jù)庫(kù)搜索是否有相應(yīng)的用戶。如果有就確認(rèn),沒(méi)有則提醒用戶先注冊(cè)。使用PHP來(lái)完成這一切
- PHPNOW安裝Memcached擴(kuò)展方法詳解
- php記錄頁(yè)面代碼執(zhí)行時(shí)間
- PHP中獎(jiǎng)概率的抽獎(jiǎng)算法程序代碼
- apache設(shè)置靜態(tài)文件緩存方法介紹
- php對(duì)圖像的各種處理函數(shù)代碼小結(jié)
- PHP 關(guān)于訪問(wèn)控制的和運(yùn)算符優(yōu)先級(jí)介紹
- 關(guān)于PHP語(yǔ)言構(gòu)造器介紹
- php/js獲取客戶端mac地址的實(shí)現(xiàn)代碼
- php5.5新數(shù)組函數(shù)array_column使用
- PHP preg_match的匹配多國(guó)語(yǔ)言的技巧
- php 中序列化和json使用介紹
- php采集文章中的圖片獲取替換到本地
- 相關(guān)鏈接:
- 教程說(shuō)明:
PHP教程-讓我們來(lái)編寫(xiě)一些PHP實(shí)用的腳本
。