曾經簡單的學習過PHP,看的是《PHP和MySQL Web開發》,還有萬能的搜索引擎的幫助。這次準備系統的學習一下,參考資料是PHP Manual。
PHP能做什么PHP主要用于服務端的腳本程序,但PHP的功能遠不局限于此。PHP主要用于以下三個領域:
$_SERVER是一個特殊的PHP保留變量,它包含了web服務器提供的所有信息,被稱為超全局變量。可以通過$_SERVER['HTTP_USER_AGENT']檢查瀏覽頁面的訪問者在用什么瀏覽器。
對于IE瀏覽器,$_SERVER['HTTP_USER_AGENT']的值可能是:
Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like GeckoMozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)可以通過調用strpos()函數,判斷用戶代理是否為IE瀏覽器。
<?php $ua = $_SERVER['HTTP_USER_AGENT'];if(strpos($ua, 'Trident') !== FALSE || strpos($ua, 'MSIE') !== FALSE) {echo 'You are using Internet Explorer.';} else {echo 'You are not using Internet Explorer.';}這段代碼中涉及到了strpos()、!==和FALSE的使用。
strpos()是PHP的一個內置函數,其功能是在一個字符串(haystack)中搜索另外一個字符串(needle)。若找到,則函數返回needle在haystack中相對于開頭的位置;如果沒有,則返回FALSE。
<?php $haystack = 'hello, world.';$needle = 'wo';echo strpos($haystack, $needle);對于上面這段代碼,strpos()返回的結果為7。對于strpos()返回的具體的值,可能在空格、中文時,計算方法有所不同,后面再討論。
PHP處理表單的方式很方便,可以使用超全局變量$_POST獲得數據。使用下面的方式定義一個簡單的HTML表單,當用戶填寫了該表單并點擊了提交按鈕,頁面action.php將被調用。
<form action="action.php" method="post"><p>Name: <input type="text" name="name" /></p><p>Age: <input type="text" name="age" /></p><p><input type="submit" /></p></form>通過下面這段代碼可以打印來自表單的數據。
Hello, <?php echo htmlspecialchars($_POST['name']); ?>. You are <?php echo (int)$_POST['age']; ?> year(s) old.這段代碼中還涉及到了htmlspecialchars()和(int)的使用。htmlspecialchars()使得HTML之中的特殊字符被正確的編碼,從而不會被使用者在頁面注入HTML標簽或者javascript代碼。
工欲善其事,必先利其器。
有個好的工具,能夠事半功倍。為了提高效率,我喜歡使用VIM,并且在命令行中運行代碼。
對于工具,這個帖子講的不錯的,window下的cmd替代工具? - windows - SegmentFault。
PHP環境推薦使用WampServer和XAMPP。
(全文完)
新聞熱點
疑難解答