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官网进行更复杂的学习。