PHP课堂--实验4
实验目的:
掌握PHP中函数的基本应用,注意参数传递过程中传值和传引用的区别
掌握PHP中表单的基本应用,包括get和post两种方式,注意这两种方式的区别
掌握PHP中文件的打开,关闭和上传操作
掌握PHP中cookie和session的基本使用
实验内容:
1.编写一个php动态页面,在html标记中用先嵌入一段php代码,给变量$x赋一个文本数值;然后把$x的数值作为一个html表单中的文本型输入框的value属性值。
提示:
使用:<inputtype="text" name="x" size="32"value="<?php echo $x;?>">
2、使用form进行不同页面动态交互(两种不同方式,get和post的区别,)
建立前后2个页面,通过使用form和sumbit按钮来实现:将前一页输入框中的值提交给后一页进行显示。
提示:
1)前页:
页面跳转:<formaction="要转向的页面路径"method="post"> (也可以使用get方法,注意这两种方法的不同)
提交按钮:<inputtype="submit" name="bt1" size="20" value="提交">
2)后页:
显示前一页传来的参数的方法:
<?php echo $_POST["前一页接受输入的控件名称"];?>
3、使用form进行相同页面动态交互。
使用循环将用户输入的4个数由小到大排序显示。
提示:
本页的动态交互:不需要action,直接:<formmethod="post">, 再结合$_POST[]数组即可。
假设我们的提交按钮是:<input type="submit" name="bt1"size="20" value="提交">
则通过$_POST[“bt1”]可获得页面的提交情况:
if(isSet($_POST["bt1"]))//已点击了提交按钮,此值=真,否则为假。
4、文件上传
提示:
创建一个文件上传表单,注意enctype="multipart/form-data">(表示表单需要二进制数据);
进行文件上传的操作,注意$_FILES变量和参数的使用,文件上传过程中先把文件存放在服务器的临时目录,$_FILES[“file”][“tmp_name”],然后再利用move_uploaded_file()拷贝到指定目录;
提高要求,在文件上传过程中,对于文件类型,文件大小进行限制,如只允许小于100k的文件。
5.按照课件上面的cookie和session例子,了解cookie和session的基本用法
1、源代码:exam4_1.php
<html>
<body>
<?php
$x = "Hello world!!!";
?>
1.编写一个php动态页面,在html标记中用先嵌入一段php代码,给变量$x赋一个文本数值;
然后把$x的数值作为一个html表单中的文本型输入框的value属性值。
<input type="text" name="x" size="32" value="<?php echo $x;?>"/>
</body>
</html>
2.源代码:exam4_2.php
<html>
<body>
<form action="exam4_2_post.php" method="post">
请输入姓名:<input name="username" type="text">
<input type="submit" value="提交到另一个页面">
</form>
</body>
</body>
</html>
exam4_2_post.php
<html>
<body>
<?php
echo "由页面exam4_2.php通过POST方式传过来值为";
echo "<br/>";
echo $_POST["username"];
?>
</body>
</html>
3.源代码:
exam4_3.php
<html>
<body>
<h1>排列输入数字的大小顺序</h1>
<form method="POST">
数1:<input type="text" name="x[]" > <br>
数2:<input type="text" name="x[]" ><br>
数3:<input type="text" name="x[]" ><br>
数4:<input type="text" name="x[]" ><br>
<input type="submit" name="b1" value="提交">
</form>
<?php
if(isSet($_POST["b1"])) {//已点击了提交按钮
$x = $_POST["x"];
$num = count($x);
for($i = 0; $i < $num; $i++)
{
for($j = $i + 1; $j < $num; $j++)
{
if($x[$j] < $x[$i])
{
$temp = $x[$i];
$x[$i] = $x[$j];
$x[$j] = $temp;
}
}
}
echo "<br/>排序结果为:<br/>";
while(list($key,$v) = each($x))
{
echo "$key $v<br/>";
}
}
?>
</body>
</html>
4.源代码:
exam4_4.php
<html>
<body>
<h1>文件上传</h1>
<form action="upload_file.php" method="post" enctype="multipart/form-data">
<label for="file">文件名:</label>
<input type="file" name="file" id="file" >
<br>
<input type="submit" name="submit" value="提交">
</form>
</body>
</html>
upload_file.php
<?php
if($_FILES["file"]["error"] > 0)
{
echo "返回码:".$_FILES["file"]["error"]."<br/>";
}
else {
echo "上传:".$_FILES["file"]["name"]."<br/>";
echo "类型:".$_FILES["file"]["type"]."<br/>";
echo "大小:".($_FILES["file"]["size"]/1024)."kb<br/>";
echo "临时文件".$_FILES["file"]["tmp_name"]."<br/>";
if(file_exists("d:/".$_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else {
move_uploaded_file($_FILES["file"]["tmp_name"],"d:/".$_FILES["file"]["name"]);
echo "保存在:"."d:/".$_FILES["file"]["name"];
}
}
?>