一、使用 php://filter 等伪协议的作用与利用姿势。要求:提交文档的同时,提交测试代码
二、使用表单加 ajax 处理上传文件。要求:1. 判断文件类型;2. 判断文件格式;3. 文件重命名;4、文件大小限制
index.html
<?php
header("Content-Type:text/html;charset=utf-8");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
$file_size = $_FILES["file"]["size"];
echo "文件后缀:".$extension."<br>";
echo "文件大小:".($_FILES["file"]["size"] / 1024)."KB";
if ($_FILES["file"]["error"] > 0 && ($file_size < 204800)||($extension=="jpg")||($extension=="gif")||($extension=="jpeg")||($extension=="png"))
{
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>";
// 判断当前目录下的 upload 目录是否存在该文件
// 如果没有 upload 目录,你需要创建它,upload 目录权限为 777
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " 文件已经存在。 ";
}
else
{
// 如果 upload 目录不存在该文件则将文件上传到 upload 目录下
move_uploaded_file($_FILES["file"]["tmp_name"], "uploads/" . $_FILES["file"]["name"]);
//echo "文件存储在: " . "upload/" . $_FILES["file"]["name"];
}
}
?>
upload_file.php
<?php
header("Content-Type:text/html;charset=utf-8");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
$file_size = $_FILES["file"]["size"];
echo "文件后缀:".$extension."<br>";
echo "文件大小:".($_FILES["file"]["size"] / 1024)."KB";
if ($_FILES["file"]["error"] > 0 && ($file_size < 204800))
{
echo "错误:: " . $_FILES["file"]["error"] . "<br>";
}
else
{
// 判断当前目录下的 upload 目录是否存在该文件
// 如果没有 upload 目录,你需要创建它,upload 目录权限为 777
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " 文件已经存在。 ";
}
else
{
// 如果 upload 目录不存在该文件则将文件上传到 upload 目录下
move_uploaded_file($_FILES["file"]["tmp_name"], "uploads/" . $_FILES["file"]["name"]);
//echo "文件存储在: " . "upload/" . $_FILES["file"]["name"];
}
}
?>