《PHP编程基础与实例教程》实验指导书一.docx

上传人:b****8 文档编号:11357551 上传时间:2023-02-28 格式:DOCX 页数:44 大小:919.50KB
下载 相关 举报
《PHP编程基础与实例教程》实验指导书一.docx_第1页
第1页 / 共44页
《PHP编程基础与实例教程》实验指导书一.docx_第2页
第2页 / 共44页
《PHP编程基础与实例教程》实验指导书一.docx_第3页
第3页 / 共44页
《PHP编程基础与实例教程》实验指导书一.docx_第4页
第4页 / 共44页
《PHP编程基础与实例教程》实验指导书一.docx_第5页
第5页 / 共44页
点击查看更多>>
下载资源
资源描述

《PHP编程基础与实例教程》实验指导书一.docx

《《PHP编程基础与实例教程》实验指导书一.docx》由会员分享,可在线阅读,更多相关《《PHP编程基础与实例教程》实验指导书一.docx(44页珍藏版)》请在冰豆网上搜索。

《PHP编程基础与实例教程》实验指导书一.docx

《PHP编程基础与实例教程》实验指导书一

 

《PHP编程基础与实例教程》

实验指导书

 

预备实验架设Windows下的PHP开发测试服务器

0.实验准备

0.1系统环境和PHP相关软件、开发工具

●操作系统:

WindowX(Windows95/98/me/XP/NT系列/2000系列/2003)

具体到的机房环境,请在Windowsxp环境下做

●Web服务器:

Apache2.0.63(压缩包文件:

apache_2.0.63-win32.exe)

●PHP:

PHP5.2.11(压缩包文件:

php-5.2.11-Win32.zip)

●数据库:

MySQL5.1.39(压缩包文件:

mysql-essential-5.1.39-win32.zip)

●脚本编辑器:

EditPlus(已安装好):

图形化编辑环境,速度慢,功能多,常用于复杂网页设计

注:

PHP相关软件、开发工具的获得:

在我的ftp上下载

0.2实验目的

能够快速部署Windows下的开发测试服务器环境,以满足同学们在宿舍、家中自己机器上学习、研究和开发PHP程序设计的需要或是实际工作的需要。

0.3实验中的路径说明

为说明问题的简单起见,路径为比较简单的示例路径,但已经过测试。

实际运用时,路径完全可根据自己需要设定。

1.PHP的安装和配置

1.1安装

1下载PHP-5.2.5-Win32.ZIP软件包,不需要安装,在C盘根目录下建立文件夹C:

\php。

将软件包解压缩到本目录下。

2在C:

\php目录下找到php.ini-dist文件,将其名字改为php.ini,这是php的配置文件。

3修改php.ini文件,过程如下:

(1)找到extension_dir=”./”,改为extension_dir=”C:

/php/ext”

(2)找到“;extension=php_mbstring.dll”去掉前面的“;”(3)找到“;extension=php_mysql.dll”去掉前面的“;”(4)找到“;extension=php_mysqli.dll”去掉前面的“;”

4修改完php.ini文件后,保存该文件,并复制到C:

\Windows\目录下。

5将C:

\PHP\libmysql.dll复制到C:

\windows\system32目录下

注:

操作系统安装目录,具体位置见表1

 

表1:

操作系统安装目录

操作系统

操作系统安装目录

Windows95

windows

Windows98

windows

Windowsme

windows

windows

WindowsNT系列

winnt

Windows2000系列

winnt

Windows2003

windows

1.2配置

通过修改php.ini中的参数来实现。

对MySQL而言,若无特殊要求,一般无须配置。

因为PHP在php.ini中已经做好了对MySQL的配置,所以一般无须修改。

2.Apache的安装和配置

2.1安装软件

双击apache_2.0.63-win32.exe,按照提示,选择custom安装方式,然后一路默认,即完成安装。

注意:

如果您的电脑安装了IIS,请先到控制面板关闭IIS服务,因为IIS服务器与Apache服务器都使用一个端口。

2.2配置服务

单击[开始]->[程序]->[ApacheHTTPServer2.2]->[ConfigureApacheServer]->[EdittheApachehttpd.confconfigurationFile],打开Apache的配置文件httpd.conf,按表2提示进行配置:

注意:

每处的配置要想起作用,必须将行首的#号(注释符号)去掉;□表示一个或多个空格

表2Apache配置

序号

参数名和示例参数值

配置方法

说明

BindAddress□(你所用机器的IP地址)

修改

地址绑定(指定服务器地址)

LoadModule□php5_module□c:

/php/sapi/php5apache.dll

添加

将PHP配置为Apache的模块(Apachemodule)方式

Port□80

修改

指定端口

ServerAdmin□(你的邮箱地址,如ssl@)

修改

指明管理员信箱

ServerName□ssl

修改

指明主机名称

DocumentRoot□"d:

\Website\htdocs"

修改

Web文档发布主目录

\Website\htdocs">

修改

该处目录应与Web文档发布主目录一致

ScriptAlias□/php/□"c:

/php/"

AddType□application/x-httpd-php□.php

Action□application/x-httpd-php□"/php/php.exe"

添加

指明脚本路径

指明PHP脚本扩展名

指明PHP脚本解释器程序名

DirectoryIndex□index.htm□index.php

修改

指定默认文档

*描述以httpd.conf文件的行文顺序进行

*表中路径、地址、主机名、信箱等,实际配置时请根据自己情况进行

按表1所述,参考Apache配置文件样本,修改完毕后,保存。

测试配置是否成功。

1)在编辑完成后,我们还可以通过“开始/程序/ApacheHTTPServer2.2/ConfigureApacheServer/TestConfiguration"来测试配置文件是否有语法错误等。

2)或者打开浏览器敲入:

http:

//localhost能否见到服务器到测试页面。

能见到则配置成功。

3.Apache:

Web服务的安装和启动

(1)启动Apache服务:

单击:

[开始]->[程序]->[ApacheHTTPServer2.2]->[ControlApacheservice]->[Start]。

(默认情况下,每次操作系统启动时自动启动该服务,可更改)

4.测试Apache服务器对PHP的支持能力

测试目的:

检验配置后的Apache服务器是否提供了对PHP脚本的解释能力(支持PHP)

用EditPlus编写测试脚本,存为d:

\Website\htdocs\ceshi.php,内容为:

php

echophpinfo();

?

>

说明:

phpinfo()是PHP内置函数,用来显示PHP和Apache配置信息,在浏览器中敲入http:

//localhost/ceshi.php,回车后若显示类似图1的PHP配置页面(以Winxp下为例),则说明你的Apache服务器已经支持PHP脚本,能够解释PHP脚本了;若不显示类似画面,则配置有误,此时你的Apache不能够解释PHP脚本,需重新配置。

图1

5.MySQL的安装和启动数据库服务器

①将mysql-essential-5.1.39-win32.zip解压缩后,双击setup.exe,按照提示,选择custom安装方式,然后一路默认,遇到输入密码的地方,输入123作为密码。

②测试安装是否成功。

单击“开始”,选择“MySQL→MySQLServer5.1→MySQLCommandLineClient”,会出现如下图所示的窗口,然后输入root密码,根据提示操作即可

6.测试PHP与MySQL的协同

PHP方面:

准备测试脚本connect.php,存放在d:

\Website\htdocs下,其内容为:

程序2-13:

$connection=mysql_connect('127.0.0.1','root','123')ordie('不能连接到MySQL数据库:

'.mysql_error());

echo'已经成功连接MySQL数据库
';

mysql_select_db('test')ordie('不能选择数据库');

echo'连接test数据库已经成功';

?

>

(1)测试步骤

在浏览器地址栏输入:

http:

//localhost/connect.php,回车,显示如图2所示,则表明PHP与MySQL能够协同工作了。

图2

实验一PHP基本语法实验

0实验准备

0.1实验环境和相关工具软件

具体到的机房环境,请在Windowsxp环境下做本实验:

●操作系统:

Windowsxp

●Web服务器:

Apache2.0.63默认发布文档路径:

c:

\Apache\htdocs

●PHP:

PHP5.2.11安装路径:

c:

\php

●数据库:

MySQL5.1.39使用默认路径

●脚本编辑器:

记事本

EditPlus-v3.11.463H

MacromediaDreamweaverMX中文版

注意:

使用以上脚本编辑器,若要保存为.php文件,必须在保存时指明扩展名为.php

尤其是记事本,必须在保存时,单击“保存类型”下拉框,选择“所有文件(*.*)”类型,然后指定文件扩展名是.php,单击“保存”按钮后,保存的文件才能保证是.php文件。

常见错误是直接保存,导致保存的文件其实是文本文件,如abc.php.txt等以.txt为扩展名的文本文件。

0.2实验目的和内容

实验目的:

熟练掌握PHP语言的基础语法

实验内容:

从7个方面完成PHP基本语法实际体验,分列如下:

一、词法结构

⏹大小写

⏹语句和分号

⏹注释

⏹标识符

二、数据类型

⏹字符串型

⏹布尔型

⏹数组型

⏹对象型

⏹资源型

⏹各种数据类型的检测

三、变量

⏹变量的变量

⏹变量的作用域

⏹垃圾收集:

变量的内存管理

四、表达式和操作符

⏹隐式类型转换

⏹字符串连接操作符

⏹自增和自减操作符

⏹类型转换操作符

⏹其他操作符

五、流控制语句

⏹if语句

⏹switch语句

⏹while语句

⏹for语句

⏹foreach语句

⏹exit语句

⏹return语句(2-12)

六、包含代码

七、在Web页面中嵌入PHP

0.3实验中的约定

所有实验程序均与讲义中的例子相对应,如程序1-1.php,对应讲义中的例子例1-1。

1词法结构

1.1大小写敏感

预备知识 

变量区分大小写,内置结构(while,for,if等)及关键字(echo,class等)不区分大小写

【2-1】大小写敏感的例子

PHP程序2-1

送到用户浏览器解释后显示的结果(运行结果,显示在浏览器页面中的结果)

php

$name="hello1,world1";

$NAME="hello2,world2";

$NaME="hello3,world3";

echo"\$name=$name\n";

ECHO"\$NAME=$NAME\n";

EcHo"\$NaME=$NaME";

?

>

注意:

要使运行结果达到真正分行(和HTML输出一致),请将程序2-1中的\n换成
,即可实现,如下例

【2-1br】修改程序2-1后的程序2-1br,直接实现分行(将程序2-1中的\n换成

PHP程序2-1br

送到用户浏览器解释后显示的结果(运行结果,显示在浏览器页面中的结果)

php

$name="hello1,world1";

$NAME="hello2,world2";

$NaME="hello3,world3";

echo"\$name=$name
";

ECHO"\$NAME=$NAME
":

EcHo"\$NaME=$NaME";

?

>

原因:

浏览器不解释(或者说不识别,或忽略)经PHP解释\n而成的空白换行,只有遇到
这个HTML中的换行标记,才解释成换行。

为了直接达到预期换行效果,将不再使用\n,而是使用

1.2语句和分号

预备知识 

简单语句复杂语句分号的省略

【2-2】语句和分号

PHP程序2-2

送到用户浏览器解释后显示的结果(运行结果,显示在浏览器页面中的结果)

php

$a=10;

$b=10;

if($a==$b)

{

echo"注意:


";//简单语句

echo"\$a的值等于\$b的值
";

}

//上面{}部分为复杂语句

echo"hello,world";//此处分号可省略

?

>

1.3注释

预备知识 

在必要的地方做注释注释的形式及各自的适用处:

Shell形式(#)、C++形式(//)、C形式(/*…*/)

【2-6】C形式的注释作用

PHP程序2-6

送到用户浏览器解释后显示的结果(运行结果,显示在浏览器页面中的结果)

php

$l=12;$m=13;

/*注释从这里开始

?

>

SomestuffyouwanttobeHTML.

=$n=14;*/

echo("l=$lm=$mn=$n");

?

>

NowthisisregularHTML…

1.4标识符(常量标识符)

预备知识 

使用define()设置常量标识符

【2-7】使用define()设置常量标识符

PHP程序2-7

送到用户浏览器解释后显示的结果(运行结果,显示在浏览显示在浏览器页面中的结果)

php

define(‘PUB’,”O’Reilly&Associates”);

echoPUB;

?

>

2数据类型

2.1字符串

预备知识 

字符串的表示单引号和双引号在字符转义上的不同作用:

单引号仅转义反斜杠\和单引号’

【2-8】单引号和双引号在字符转义上的不同作用

PHP程序2-8

送到用户浏览器解释后显示的结果(运行结果,显示在浏览器页面中的结果)

php

$name=”SunShoulong”;

//双引号中的变量值将被输出

echo“Hi,$name
”;

echo‘Hi,$name’;//单引号中的变量名将被输出,因为单引号不认为$name是变量

?

>

注意:

双引号中的变量,若前面不加反斜杠\进行转义(将$原样输出),则在输出字串的时候将输出变量中的值

【2-9】单引号仅支持的字符转义:

反斜杠\和单引号’

PHP程序2-9

送到用户浏览器解释后显示的结果(运行结果,显示在浏览器页面中的结果)

php

$dos_dir=’c:

\\windows\\system’;

$publisher=’TimO\’Reilly’;

echo“$dos_dir$publisher”;

?

>

2.2布尔型

预备知识

PHP中为false值的情况

【2-10】判断布尔值

PHP程序2-10

送到用户浏览器解释后显示的结果(运行结果,显示在浏览器页面中的结果)

php

$x=5;

$y=””;

if($x)echo‘$x有一个true值
’;

if(!

$x)echo‘$x有一个false值
’;

if($y)echo‘$y有一个true值
’;

if(!

$y)echo‘$y有一个false值
’;

?

>

2.3数组型

预备知识:

数组的创建、遍历;键名:

数组元素的下标名称,一般是从0开始的整数,也可以是字符串;键值:

数组元素中存储的值

【2-11】数组的创建、遍历:

发明家记录

PHP程序2-11

送到用户浏览器解释后显示的结果(运行结果,显示在浏览器页面中的结果)

php

#以数字键名引用的方式,通过给各数组元素赋值的方法#直接创建人名数组$person

$person[0]=”Edison”;

$person[1]=”Wankel”;

$person[2]=”Crapper”;

/*上面的方法可用array方法替代,创建后键名也是数字的,按赋值先后,从0开始依次递增

$person=array(‘Edison’,’Wankel’,’Crapper’);//一条语句

*/

#以字串键名引用的方式,通过给各数组元素赋值的方法#直接创建发明家数组$creator

$creator[‘Lightbulb’]=”Edison”;

$creator[‘RotaryEngine’]=”Wankel”;

$creator[‘Toilet’]=”Crapper”;

/*上面的方法可用array方法替代,创建后键名也是数字的,按赋值先后,从0开始依次递增

$creator=array(‘Lightbulb’=>’Edison’,

‘RotaryEngine’=>’Wankel’,

‘Toilet’=>’Crapper’);

*/

#遍历数组$person,显示其内容

foreach($personas$name)//访问每个键

echo“Hello,$name
”;

#遍历数组$creator,显示其内容

foreach($creatoras$invention=>$inventor)

echo“$inventionwascreatedby$inventor
”;

?

>

2.4对象型

预备知识

类:

OOP的单元,是包含属性(变量)和方法(函数)的结构定义

类的定义

对象的创建、引用其属性和方法

【2-12】类和对象的简单例子

PHP程序2-12

送到用户浏览器解释后显示的结果(运行结果,显示在浏览器页面中的结果)

php

ClassPerson{

var$name=’’;

functionname($newname=NULL){

if(!

is_null($newname))

$this->name=$newname;

return$this->name;

}}

$ed=newPerson;

$ed->name(‘Edison’);

printf(“Hello,%s
”,$ed->name);

$tc=newPerson;

$tc->name(‘Crapper’);

printf(“Lookoutbelow,%s
”,$tc->name);

?

>

2.5数据类型的检测

预备知识

数据类型检测函数

【2-14】数据类型检测

PHP程序2-14

送到用户浏览器解释后显示的结果(运行结果,显示在浏览器页面中的结果)

php

$x=2.5;

if(is_int($x))echo'$x是整型变量';

if(is_float($x))echo'$x是浮点型变量';

if(is_string($x))echo'$x是字串型变量';

if(is_bool($x))echo'$x是布尔型变量';

if(is_array($x))echo'$x是数组型变量';

if(is_object($x))echo'$x是对象型变量';

if(is_resource($x))echo'$x是资源型变量';

if(is_null($x))echo'$x是NULL型变量';

?

>

3变量

3.1变量的变量

预备知识

变量的概念和作用;变量的声明和使用;变量的变量

【2-15】PHP变量无类型检查,无须声明,类型随用随变

PHP程序2-15

送到用户浏览器解释后显示的结果(运行结果,显示在浏览器页面中的结果)

php

#PHP变量无类型检查

$what="Fred";

echo"\$what的值=$what
";

if(is_string($what))echo"\$what是字符串型变量


";

$what=35;

echo"\$what的值=$what
";

if(is_int($what))echo"\$what是整型变量


";

$what=array('Fred','35','wilma');

echo"\$what的值为:


";

foreach($whatas$e)

echo"$e
";

if(is_array($what))echo"\$what是数组型变量";

?

>

【2-16】空变量的例子

PHP程序2-16

送到用户浏览器解释后显示的结果(运行结果,显示在浏览器页面中的结果)

php

#一个没有设置值的变量,它的值是NULL,

#表示它是一个空变量

if($uninitialized_variable==NULL)

//此句可换为:

if(is_null($uninitialized_variable))

echo"\$uninitialized_variable是空变量";

?

>

【2-17】变量的变量

PHP程序2-17

送到用户浏览器解释后显示的结果(运行结果,显示在浏览器页面中的结果)

php

#变量的变量

$r='i';

$$r=1;

echo"因为\$r=$r
";

echo"所以\$\$r=$$r
";

echo"又因为$$r=".$$r."
";

echo'故$$r='.$$r;

echo"


:

-)你明白了吗?

";

?

>

3.2变量的作用域

预备知识

变量按其作用域分为:

局部变量、全局变量。

静态变量、函数的参数属于局部变量;从局部访问全局变量的方法;从全局访问局部变量的方法

【2-19】不能从全局(函数外部)直接访问局部变量

PHP程序2-19

送到用户浏览器解释后显示的结果(运行结果,显示在浏览器页面中的结果)

php

#下面的函数更新了一个局部变量而不是全局变量

functionupdate_counter(){

$counter++;//执行完本句即函数结束时,$counter的值被PHP抛弃,该变量所占内存资源被收回

}

$counter=10;

update_counter();

echo$counter;//这个$counter是全局变量

?

>

【2-20】从局部访问全局变量,方法1:

使用global关键字声明

PHP程序2-20

送到用户浏览器解释后显示的结果(运行结果,显示在浏览器页面中的结果)

php

#在函数内访问全局变量--方法1:

使用global关键字声明

functionupdate_counter(){

global$counter;//告诉PHP,$counter是全局中那个$counter

$counter++;

}

$counter=10;

update_counter();

echo$counter;

?

>

【2-21】从局部访问全局变量,方法2:

引用全局变量数组$GLOBALS

PHP程序2-21

送到用户浏览器

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1