php实验报告一
实验综合成绩
(百分制)
实验评阅教师签名 其中 实验态度 优 良 中 及格 不及格 李跃贞 实验报告 优 良 中 及格 不及格 华北科技学院管理学院 告 实 验 报 告 册
实 实
验 验
报 报
告 告
实验时间 :
2 015 年 年 1 1 1
月
1 11 1
日
3 3 、4
节
20
实验课程名称: :
电子商务开发技术
实验项目序号: :
实验三
实验项目名称: :
php
语言编程
实 验 室 名 称 : :
电子商务实验室
开 开 课 课 学 学
期: :
2015 —— 2016 第 学 年 第
1 1
期 学 期
授
课
教
师: :
李跃贞
实验指导教师: :
李跃贞
专
业: :
电子商务专业
班
级: :
B131
姓
名: :
范春喜
学
号: :
2
一、实验运行环境
Windows2 00 0+ php 5、0+apa che2 、0
二、实验目得
1、掌握正则表达式得使用方法 2、掌握 php 获取html表单数据得方法 3、掌握 php 中得文件处理得使用方法 4、掌握类得创建方法及应用 三、实验要求
1、某表单及验证表单得程序如 3-1 文件夹,请运行该程序并理解check、js 文件中得正则表达式。
〈?php $ = 'hello/1、txt’; $somecontent = ”我先被写入得!\r\n"; $somecontent1 = ”我后被写入得!\r\n”; // 首先我们要确定文件存在并且可写 if (is_writable($))
{
// 在这个例子里,将使用只写模式打开$
// 文件指针将会在文件得开头,如果原来文件中有其她数据,则会被删除
if (!$handle = fopen ($, ”w")) {
print "不能打开文件 $";
exit;
} // 将$somecontent 写入到我们打开得文件中。
if (!fwrite($handle, $somecontent)) {
print "不能写入到文件 $";
exit;
}
print ”成功地将\” $somecontent \"写入到文件$〈br〉”;
fclose($handle); $ 开打次再//
;)"w” ,$( nepof = eldnahﻩ// 除清被则据数得入写来原,串符字个一外另入写件文开打续继ﻩ
fwrite($handle, $somecontent1);
fclose($handle);
print "成功地将\” $somecontent1 \"写入到文件$"; } else {
print ”文件 $ 不可写”;
}?〉
2、使用正则表达式编写程序验证电话号码或 url 地址。
3、字符串:$text = "华北科技学院电子商务 B11-1、2、3 班电子商务应用开发技术课程”;请编写程序截取该字符串得前16 个字。
4、某字符串: $pizza
= ”a1 a2 a3 a4 a5 a6”;
//通过空格分隔请编写程序以空格作为分隔符分隔该字符串并分别输出。
5、某表单如下,请编写获取表单得程序:
6、利用 aj ax 或JQuery 实现表单验证.运行3—6 文件夹中得程序并理解 ajax 或 或 JQuery实现表单验证得方法。
7、编写程序利用 copy 函数实现文件得上传 <html> 〈head> <meta —equiv=”Content—Type" content="text/html;
charset=gb2312”> <title〉文件上传〈/title> 〈/head> <body> 〈?php
if($_POST['post_flag’]==1)
{
$a=copy($myfile,"upload_file/”、$my);
} ?〉 〈form enctype=”multipart/form-data”
action=”index2、php” method="post”> 您得姓名: 〈input type=text name=user>〈br> 文件名称:
〈input name="myfile" type="file”>〈br> <input type=”hidden” name="post_flag" value="1”〉 <input type="submit” value="提交”>
</form〉
<?php $ ;]’eman_pmt’[]"elifym"[SELIF_$ = elifymﻩ
if($my "")
{
if(copy($myfile,$_FILES[’myfile"]["name’]))
{
echo ”上传成功";
} else
{
echo ”上传失败";
}
unlink($myfile);
} else
{
echo "没有可上传得文件";
} ?〉
8、利用 php 中得文件处理技术编写程序如下:请运行该程序并理解。
〈?php $ = "hello/1、txt’; $somecontent = "我先被写入得!\r\n”; $somecontent1 = ”我后被写入得!\r\n”; // 首先我们要确定文件存在并且可写 if (is_writable($)) {
// 在这个例子里,将使用只写模式打开$
// 文件指针将会在文件得开头,如果原来文件中有其她数据,则会被删除
if (!$handle = fopen ($, ”w”)) {
print ”不能打开文件 $";
exit;
} // 将$somecontent 写入到我们打开得文件中.
if (!fwrite($handle, $somecontent)) {
print ”不能写入到文件 $";
exit;
}
print ”成功地将\" $somecontent \”写入到文件$<br〉";
fclose($handle); $ 开打次再//
;)"w” ,$( nepof = eldnahﻩ //继续打开文件写入另外一个字符串,原来写入得数据则被清除
fwrite($handle, $somecontent1);
fclose($handle);
;"$件文到入写"\ 1tnetnocemos$ "\将地功成" tnirpﻩ} else {
print "文件 $ 不可写"; }?> 9、请编写程序实现动态页面转化为静态页面。
10、使用类编写程序如下:请运行该程序并理解。
〈?php class Foo
//定义基类 { // 量变义定字键关 citats用使ﻩ
public static $my_static = "foo";
public function staticValue()
{
return self::$my_static;
} }
class Bar extends Foo
//创建基类 {
public function fooStatic()
{
return parent::$my_static;
//返回基类得变量$my_static
} } //打印基类得$my_static变量 //虽然没有创建类实例,但就是可以直接访问 static 变量 print "Foo::$my_static 结果为’、Foo::$my_static 、 ”<br>”; $foo = new Foo();
//创建基类实例 print $foo—>staticValue() 、 "〈br>”;
//通过方法放回 static 变量 print $foo-〉my_static 、 ”<br>";
// $my_static 为未定义得属性,所以为空 //通过子类访问$my_static print Bar::$my_static 、 "<br>"; $bar = new Bar(); print $bar->fooStatic()
;
//返回父类得 static 变量?〉
11、利用类编写程序实现文件上传.见文件夹 3-10。
<?php $Submit = $_FILES["Submit’]["tmp_name’]; if ($Submit != "") { $["file’] = $file; $["name'] = $; $[’size"] = $; $["type’] = $; $ = array(’gif","jpg’,’jpge’,’png",’txt"); $savepath = "C:\AppServ\myphp\";
$maxsize = 0; $overwrite = 0; $upload = new upload($, $, $savepath, $, $overwrite, $maxsize); if (!$upload—〉run())
{ echo "上传失败"、$upload->errmsg(); }}?〉 12、php 显示中文时,经常出现乱码,请编写一个编码转换类,从而实现编码得自动转换. 〈?php class changecode{
;rts$ etavirpﻩ private $input;
private $output;
function __construct($input='’,$output="gb2312"){
$this—〉input = $input;
$this—〉output = $output;
}
{)rts$(edocghc noitcnuf detcetorpﻩ
if($this->input != '’){
ﻩ $this—>str = iconv($input,$output,$str); }
{esleﻩ
$
;)tuptuo$,rts$(gnidocne_trevnoc_bm = rts〉-sihtﻩ } ﻩ }
{)rts$(rtSteg noitcnufﻩ
$this—>chgcode($str);
return $this—〉str;
} ﻩ function setInput($input){ $
;tupni$ = tupni>-sihtﻩ } ﻩ function setOutput($output){
$
;tuptuo$ = tuptuo>—sihtﻩ }
function getInput(){
ﻩ
;tupni>—siht$ nruterﻩ } ﻩ function getOutput(){
;tuptuo〉—siht$ nruterﻩ } ﻩ} ?〉
13、做 web 开发时,需要对各种情况作出处理,并输出相应得处理。请编写一个输出类,根据不同得情况,输出不同得处理结果。
<table border=”0” cellpadding=”0” cellspacing=”0"> 〈form method=”post" action=”111、php ”> < >rtﻩ 〈 >dt/<:称名户用入输请>dtﻩ < >dt/<>/ "”=eulav ”02"=ezis "txet"=epyt "eman"=eman tupni〈>dtﻩ 〈/tr〉
<tr〉
〈td〉〈input type="submit” value="确认" />〈/td>
</tr〉 </form> </table>
<?php
include_once "function、php";
if($_POST[’name’] != ”范春喜"){ $ ;)"误错名户用'(hsibrufer >— mtﻩﻩ} {esleﻩ
$tm -> skipachange(’登陆成功’,"main、php’);
} ?〉
f fu nction、 、p ph p 〈?php class TakeMsg{
{)(tcurtsnoc__ noitcnufﻩ }ﻩ {)ssem$(gsMelpmis noitcnufﻩ ﻩ echo $mess;
ﻩ}ﻩ function skipachange($mess,$url=NULL){
ﻩ if(!is_null($url)){
ﻩﻩ echo "<script>alert(’"、$mess、”");location="”、$url、”’;</script>”;
}else{
echo "<script>alert(’”、$mess、”");location、reload;</script〉”;
ﻩ }
}ﻩ {)LLUN=lru$,3=ces$,ssem$(hsibrufer noitcnufﻩ {))lru$(llun_si(fiﻩﻩ ﻩﻩ $hr = $_SERVER[’_REFERER'];
ﻩ echo $mess、’〈br〉"; ﻩ;’〉a/<回返>”’、rh$、""=ferh a〈里这击点请,转跳有没果如.转跳后秒’、ces$、"于将面页' ohceﻩ ﻩ
;"〉/”"、rh$、"=lru;’、ces$、"”=tnetnoc ”hserfer”=viuqe— atem<" ohceﻩ } {esleﻩ
;’〉rb<"、ssem$ ohceﻩ
回返〉”"、lru$、’”=ferh a<里这击点请,转跳有没果如。转跳后秒'、ces$、'于将面页' ohceﻩ〈/a>";
ﻩ
;’〉"’、lru$、'=lru;"、ces$、'”=tnetnoc "hserfeR”=viuqe— atem<" ohceﻩ ﻩ }
} } $tm = new TakeMsg(); ?>
〈?php
;"php、noitcnuf" ecno_edulcniﻩ $tm -> simpleMsg("欢迎光临’); ?〉
五、 实验结果分析与总结
次实验我基本掌握了正则表达式得使用方法, , 也实现了利用正则表达式限定表单输入值, , 同时也学会了 p php 获取 ht ml l 表单数据得方法, , 理解了 p php 中得文件处理得使用方法与类得创建方法,在实验过程中对于函数得编写与调用还比较生疏,需要参考书本与实例来完成, , 而且对于类得创建与使用还需要多学习。
实
验
报
告
说
明
1、要求每一实验项目书写一份实验报告,并按实验课程归类汇总.
2 2 、实验报告要遵照实验指导书与任课教师得具体要求逐项填写。
3 3 、实验报告正文要求字迹清晰、工整, , 用钢笔、中性笔或圆珠笔书写。
4 4 、实验报告封面不得有空缺项;实验项目序号指实验项目编号, , 如:实验一。
5 5 、实验运行环境之 具体实验室与运行软件。
6 6 、实验内容与步骤如书写不够, , 可加页。