1、安装最新版phpstudy集成工具并创建一个网站,编写php代码输出网站信息(phpinfo)
首先下载小皮后打开网站,创建一个域名为homework.com的网站,选好php版本

打开vscode,在创建好的网站目录下创建一个info.php的文件,输入phpinfo()

打开浏览器,访问该目录,可以得到php的信息

注意在小皮设置的端口信息,默认为80端口
2、安装vscode,并安装php开发插件、汉化插件、xdebug等插件
通过搜索栏直接搜索插件名称,下载后点击插件的设置按钮,可以对插件进行设置

通过命令面板搜索language,可对语言进行设置
3、配置phpstudy集成工具xdebug扩展,并使用vscode对php代码进行调试。
在文件上传校验处下一断点,通过对文件上传,当停到断点处时,可以看到参数发生了变化

4、编写php代码实现文件上传功能
创建一个目录,在目录下新建任意文件,写好上传的代码,注意上传的php文件位置要和另一个接受的文件名称保持一致

代码如下
<html>
<head>
<meta charset="utf-8">
<title>上传</title>
</head>
<body>
<form action="upload-file.php" method="post" enctype="multipart/form-data">
<label for="文件名"></label>
<input type="file" name="file" id="file">
<input type="submit" name="submit" value="提交">
</form>
</body>
</html>
编写接收的文件upload-file.php,通过函数explode将文件分为名称和后缀,利用end函数拿到后缀,再通过创建的后缀组对后缀进行过滤,最后进行比对,已经限制文件大小,从而对文件上传进行过滤

代码如下
<?php
$_allowebExit=array("gif","txt","jpeg","jpg","peg");
$temp=explode(".", $_FILES["file"]["name"]);
$extension=end($temp);
if((($_FILES["file"]["type"]=="image/gif")||
($_FILES["file"]["type"]=="image/jpeg")||
($_FILES["file"]["type"]== "image/jdg")||
($_FILES["file"]["type"]== "text/plain")||
($_FILES["file"]["type"]== "image/pjpeg")||
($_FILES["file"]["type"]== "image/x-png")||
($_FILES["file"]["type"]== "image/png"))
&&($_FILES["file"]["size"]<204800)
&& in_array($extension,$allowedExts))
{
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)."<br>";
echo "文件临时储存位置:". $_FILES["file"]["tmp_name"]. "<br>";
}
}
else
{
echo "非法";
}
?>
此外,上传到临时目录["tmp_name"],也可以选择保存到某一文件夹下面,通过move函数对上传的文件进行保存


代码如下
<?php
$allowedExts = array("gif", "txt", "jpeg", "jpg", "peg");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if (
(
($_FILES["file"]["type"] == "image/gif") ||
($_FILES["file"]["type"] == "image/jpeg") ||
($_FILES["file"]["type"] == "image/jpg") ||
($_FILES["file"]["type"] == "text/plain") ||
($_FILES["file"]["type"] == "image/pjpeg") ||
($_FILES["file"]["type"] == "image/x-png") ||
($_FILES["file"]["type"] == "image/png")
) &&
($_FILES["file"]["size"] < 204800) &&
in_array($extension, $allowedExts)
) {
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) . "<br>";
echo "文件临时储存位置: " . $_FILES["file"]["tmp_name"] . "<br>";
if (file_exists("upload/" . $_FILES["file"]["name"])) {
echo $_FILES["file"]["name"] . "文件已经存在";
} else {
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);
echo "文件位置: " . "upload/" . $_FILES["file"]["name"];
}
}
} else {
echo "非法";
}
?>
5、请概述cookie和session的区别和联系
答:cookie为网站验证用户的值,而session能让cookie值在特定的情况下一直携带并且不改变,并且储存在某个目录下,实现了用户在访问同一网站的不同目录时,能将储存的cookie值直接用于识别身份
910

被折叠的 条评论
为什么被折叠?



