入门指引

WBOY
WBOYOriginal
2016-06-23 13:26:161051browse

曾经简单的学习过PHP,看的是《PHP和MySQL Web开发》,还有万能的搜索引擎的帮助。这次准备系统的学习一下,参考资料是PHP Manual。

PHP能做什么

PHP主要用于服务端的脚本程序,但PHP的功能远不局限于此。PHP主要用于以下三个领域:

  • 服务端脚本

  • 命令行脚本

  • 编写桌面应用程序(PHP-GTK)

实用的脚本

$_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和MAMP PRO。

(全文完)

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:数据类型Next article:thinkphp数组查询问题