1.Web服务器概述
Web服务器用于:
- (1)接收客户端的请求
- (2)理解请求,找到客户端需要的文件
- (3)把客户端请求的文件输出给客户端
Web服务器的分类:
(1)静态Web服务器:
- 提供的内容在任何时间由任何人访问都是完全相同的!
- 所包含技术:HTML、CSS、JS、Flash、Gif、音视频
- 常见的静态Web服务器:
- Apache Httpd
- Microsoft IIS
- NginX
(2)动态Web服务器:
- 提供的内容在不同时间由不同人访问是变化的!
- 所包含的技术:
- JSP = HTML + Java
- PHP = HTML + Php
- ASP.NET = HTML + C#
- Node.js = HTML + NodeJS
2.PHP服务器的搭建
(1)服务器端:下载并安装一款静态Web服务器
C:\xampp\apache\bin\httpd.exe
(2)服务器端:下载并安装PHP语言的解释器
C:\xampp\php\php.exe
推荐使用软件套装(如XAMPP/WAMP等)完成上述两步
(3)服务器端:编写网页,保存在htdocs目录
C:\xampp\htdocs\
(4)服务器端:启动Web服务器,等待客户端发起请求
确保80端口被httpd.exe占用
------------------------------------------
(5)客户端:向服务器发起请求,获取服务器端响应内容
http://服务器的域名或IP地址:80
http://127.0.0.1:80 127.0.0.1指代当前计算机
ipconfig:用于查看当前计算机的IP地址信息
练习:编写一个.php文件,保存在htdocs目录下
<!doctype html><html> ?<head> ???<meta charset="utf-8"> ?</head> ?<body> ???<h1>我的第一个<br>PHP网页</h1> ???<?php ?????//PHP解释器只会处理此标记中的内容 ???$msg = ‘Hello World‘; ??//PHP变量名必须以$开头 ???for($i=0; $i<10; $i++){ ???????//echo($msg); ??//PHP语句分号不能省略 ???????//echo($i+$msg); ???//+只做数学运算 ???????//echo($i); ???????//echo($msg); ???????echo($i . $msg); ???//.是字符串拼接 ???????//<br>; ???????echo(‘<br>‘); ???} ????> ?</body></html>
练习:一个9X9乘法口诀表:
<!doctype html><html> ?<head> ???<title>标题</title> ???<meta charset="utf-8"> ?</head> ?<body> ???<h1>练习4-九九乘法表</h1> ???<table width="100%" border="1"> ?????<tbody> ?????<?php ???????for($i=1; $i<=9; $i++){ ???????????echo ‘<tr>‘; ???????????for($j=1; $j<=$i; $j++){ ???????????????echo ‘<td>‘; ???????????????echo $i.‘*‘.$j.‘=‘.($i*$j); ???????????????echo ‘</td>‘; ???????????} ???????????echo ‘</tr>‘; ???????} ??????????> ?????</tbody> ???</table> ?</body></ht<?php echo ‘m‘; ?>l>
1、PHP中的字符串
<?php//php中的字符串$ename = ‘feng‘;$phone = "12345678901";echo ‘姓名:‘.$ename.‘ 电话:‘.$phone;echo ‘<br>‘;echo ‘姓名:$ename 电话:$phone‘;echo ‘<br>‘;//双引号字符串中若包含$变量,会被转换为变量值echo "姓名:$ename 电话:$phone";echo ‘<br>‘;//echo "姓名:$ename电话:$phone";//echo ‘<br>‘;
2、echo,var_dump
<?php$i = 10;//echo $i;var_dump($i); ???????//查看一个变量的类型及值echo ‘<br>‘;$i = 10.0;var_dump($i); ???????//查看一个变量的类型及值echo ‘<br>‘;$i = ‘10.0‘;var_dump($i); ???????//查看一个变量的类型及值echo ‘<br>‘;
3、数组的语法
<?php//phpinfo(); ?//输出PHP解释器的信息//创建数组的语法$list = array(10, 30, 50); ??//PHP5.3-$list = [10, 30, 50]; ??//PHP5.4+//echo $list; ?//错误!数组不能转换为字符串//echo $list[0];//echo $list[1];//echo $list[2];var_dump($list);echo ‘<hr>‘;/*****索引数组:每个元素下标是数字******/$list = [101, 30, 5000, ‘Tom‘, false];//$list[5] = ‘知春路‘;//echo count($list); ?//返回数组中元素的个数//$list[ count($list) ] = ‘知春路‘;$list[] = ‘知春路‘; ???????//向数组尾部添加新元素$list[] = ‘12345678909‘;//var_dump($list);for($i=0; $i<count($list); $i++){ ???echo "$i - $list[$i] <br>";}echo ‘<hr>‘;/*****关联数组:每个元素下标是字符串******/$list = [ ????‘eid‘=>102, ????‘age‘=>35, ????‘ename‘=>‘Tom‘, ????‘isMarried‘=>false ];$list[‘addr‘] = ‘知春路‘;//echo count($list);echo $list[‘eid‘];
4、二位数粗
<?php/*创建一个二维数组,保存5个商品的信息,每个商品都有pid、pname、price、birthday,isOnsale, pic属性,把这些信息输出在一个TABLE元素中*/$list = [ ?[‘pid‘=>101, ‘pname‘=>‘可口可乐‘, ‘price‘=>3.5, ‘birthday‘=>1234567890123, ‘isOnsale‘=>true, ‘pic‘=>‘img/101.jpg‘], ?[‘pid‘=>102, ‘pname‘=>‘百事可乐‘, ‘price‘=>3.6, ‘birthday‘=>1234567890123, ‘isOnsale‘=>false, ‘pic‘=>‘img/102.jpg‘], ?[‘pid‘=>103, ‘pname‘=>‘非常可乐‘, ‘price‘=>3.7, ‘birthday‘=>1234567890123, ‘isOnsale‘=>false, ‘pic‘=>‘img/103.jpg‘]];$list[]=[‘pid‘=>104, ‘pname‘=>‘雪碧‘, ‘price‘=>3.8, ‘birthday‘=>1234567890123, ‘isOnsale‘=>true, ‘pic‘=>‘img/104.jpg‘];$list[]=[‘pid‘=>105, ‘pname‘=>‘芬达‘, ‘price‘=>3.9, ‘birthday‘=>1234567890123, ‘isOnsale‘=>false, ‘pic‘=>‘img/105.jpg‘];//var_dump($list);/*$p = $list[0];echo $p[‘pid‘]; ???????//正确//echo $p[pid]; ???????//错误//echo "编号:$p[‘pid‘]"; ????//错误echo "编号:$p[pid]"; ????????//正确 */echo ‘<table width="100%" border="1">‘;echo ‘<thead><tr><th>编号</th><th>名称</th><th>单价</th><th>生产日期</th><th>是否特价</th><th>图片</th></tr></thead>‘;echo ‘<tbody>‘;for($i=0; $i<count($list); $i++){ ???$p = $list[$i]; ?//依次遍历每个商品 ???echo ‘<tr>‘; ???echo " ?<td>$p[pid]</td>"; ???echo " ?<td>$p[pname]</td>"; ???echo " ?<td>$p[price]</td>"; ???echo " ?<td>$p[birthday]</td>"; ???echo " ?<td>$p[isOnsale]</td>"; ???echo " ?<td>$p[pic]</td>"; ???echo ‘</tr>‘;}echo ‘</tbody>‘;echo ‘</table>‘;
5、foreach遍历
<?php/*创建一个二维数组,保存5个商品的信息,每个商品都有pid、pname、price、birthday,isOnsale, pic属性,把这些信息输出在一个TABLE元素中*/$list = [ ?[‘pid‘=>101, ‘pname‘=>‘可口可乐‘, ‘price‘=>3.5, ‘birthday‘=>1234567890123, ‘isOnsale‘=>true, ‘pic‘=>‘img/101.jpg‘], ?[‘pid‘=>102, ‘pname‘=>‘百事可乐‘, ‘price‘=>3.6, ‘birthday‘=>1234567890123, ‘isOnsale‘=>false, ‘pic‘=>‘img/102.jpg‘], ?[‘pid‘=>103, ‘pname‘=>‘非常可乐‘, ‘price‘=>3.7, ‘birthday‘=>1234567890123, ‘isOnsale‘=>false, ‘pic‘=>‘img/103.jpg‘]];$list[]=[‘pid‘=>104, ‘pname‘=>‘雪碧‘, ‘price‘=>3.8, ‘birthday‘=>1234567890123, ‘isOnsale‘=>true, ‘pic‘=>‘img/104.jpg‘];$list[]=[‘pid‘=>105, ‘pname‘=>‘芬达‘, ‘price‘=>3.9, ‘birthday‘=>1234567890123, ‘isOnsale‘=>false, ‘pic‘=>‘img/105.jpg‘];//var_dump($list);/*$p = $list[0];echo $p[‘pid‘]; ???????//正确//echo $p[pid]; ???????//错误//echo "编号:$p[‘pid‘]"; ????//错误echo "编号:$p[pid]"; ????????//正确 */echo ‘<table width="100%" border="1">‘;echo ‘<thead><tr><th>编号</th><th>名称</th><th>单价</th><th>生产日期</th><th>是否特价</th><th>图片</th></tr></thead>‘;echo ‘<tbody>‘;for($i=0; $i<count($list); $i++){ ???$p = $list[$i]; ?//依次遍历每个商品 ???echo ‘<tr>‘; ???echo " ?<td>$p[pid]</td>"; ???echo " ?<td>$p[pname]</td>"; ???echo " ?<td>$p[price]</td>"; ???echo " ?<td>$p[birthday]</td>"; ???echo " ?<td>$p[isOnsale]</td>"; ???echo " ?<td>$p[pic]</td>"; ???echo ‘</tr>‘;}echo ‘</tbody>‘;echo ‘</table>‘;
6、function
<?php$msg = ‘hello‘;//返回一个随机的表示颜色的字符串function randColor(){ ???global $msg; ?//声明使用一个全局变量 ???echo $msg; ???$r = rand(0, 255); ???$g = rand(0, 255); ???$b = rand(0, 255); ???return "rgb($r, $g, $b)";}echo randColor();
最后请大家查询PHP官网进行更复杂的学习。
php入门
原文地址:http://www.cnblogs.com/weiyf/p/8051458.html