国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

讓我們來編寫一些PHP實用的腳本

2024-05-04 23:03:31
字體:
來源:轉載
供稿:網友


收集最實用的網頁特效代碼!

  現在讓我們來編寫一些更實用的腳本。我們將檢查瀏覽頁面的訪問者用了什么類型的瀏覽器。要達到這個目的,我們需要檢查用戶的 agent 字符串,它是瀏覽器發送的 http 請求的一部分。該信息被存儲在一個變量中。在 php 中,變量總是以一個美元符開頭。我們現在感興趣的變量是 $_server["http_user_agent"]。

  注: $_server 是一個特殊的 php 保留變量,它包含了 web 服務器提供的所有信息,被稱為自動全局變量(或“超級全局變量”)。請查閱本手冊“自動全局變量”的有關內容,以獲取更多信息。這些特殊的變量是在 php 4.1.0 版本引入的。在這之前,我們使用 $http_*_vars 數組,如 $http_server_vars。盡管現在已經不用了,但它們在新版本中仍然存在。

  要顯示該變量,我們只需簡單地進行如下操作:

  例子. 打印一個變量(數組元素)

<?php echo $_server["http_user_agent"]; ?> 

  該腳本的輸出可能是:

mozilla/4.0 (compatible; msie 5.01; windows nt 5.0)

  php 有很多種不同類型的變量。在以上例子中我們打印了一個數組的元素。數組是一類非常有用的變量。

  $_server 只是 php 自動全局化的變量之一。您可以查閱“保留變量”一節來查看這些變量的列表,或者也可以建立如下的文件來得到一個完整的列表:

  例子. 利用 phpinfo() 來顯示所有預定義變量

<?php phpinfo(); ?> 

  如果您在您的瀏覽器中打開這個文件,您將看到關于 php 完整的信息,以及所有您可以使用的變量列表。

  您可以在一個 php 標識中加入多個 php 語句,也可以建立一個代碼塊來做比簡單的 echo 更多的事情。例如,如果我們需要檢查 internet explorer,我們可以進行如下操作:

  例子. 結構控制與函數的使用

<?php
if (strstr($_server["http_user_agent"], "msie")) {
    echo "you are using internet explorer<br />";
}
?> 

  該腳本的輸出可能是:

you are using internet explorer<br />

  在這里我們要介紹一些新的原理。我們用了一個 if 語句。如果您對 c 語言的基本語法比較熟悉,則您應該對此很熟悉,否則,您可能需要拿起任何一本 php 介紹性的書籍并閱讀前面的兩三個章節。

  我們需要介紹的第二個原理,是對 strpos() 函數的調用。strpos() 是 php 的一個內建函數,其功能是在一個字符串中搜索另外一個字符串。例如我們現在需要在 $_server["http_user_agent"](即所謂的 haystack) 變量中尋找 "msie"。如果在這個 haystack 中該字符串(即所謂的 needle)被找到,則函數返回 needle 在 haystack 中相對開頭的位置;如果沒有,則返回 false。如果該函數沒有返回 false,則 if 會將條件判斷為 true 并運行其大括號 {} 內的代碼;否則,則不運行這些代碼。您可以自己嘗試利用if、else以及其它的函數,例如 strtoupper() 和 strlen(),來建立類似的腳本。在本手冊中,相關的頁面也包含有范例。

  以下我們進一步顯示如何進出 php 模式,甚至是在一個 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>

  和以上我們用一個 php 的 echo 語句來輸出不同的是,我們跳出了 php 模式來直接寫 html 代碼。這里很值得注意的一點是,對于這兩種情況而言,腳本的邏輯效率是相同的。在判斷了 strpos() 函數的返回值是 true 或是 false,也就是判斷了字符串 msie 是否被找到之后,最終只有一個 html 塊被發送給瀏覽者。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 龙里县| 新竹市| 正镶白旗| 彝良县| 胶州市| 朝阳县| 钟祥市| 民勤县| 临清市| 卢氏县| 五指山市| 东兴市| 长兴县| 酉阳| 丰城市| 乌鲁木齐县| 延吉市| 筠连县| 洛隆县| 鹤山市| 淳化县| 德清县| 泉州市| 延边| 府谷县| 尼木县| 肃宁县| 南投县| 沧源| 洛川县| 肥西县| 阿勒泰市| 正安县| 利川市| 五大连池市| 玉龙| 河池市| 湖南省| 福海县| 临颍县| 景德镇市|