共计 1186 个字符,预计需要花费 3 分钟才能阅读完成。
实现文件上传功能,可以按照以下步骤进行:
- 在表单中添加一个文件上传的输入框,例如:
- 在 服务器 端处理上传的文件,可以使用 PHP 内置的文件上传函数
move_uploaded_file()
,例如:
$target_dir = "uploads/"; // 上传文件保存的目录
$target_file = $target_dir . basename($_FILES["file"]["name"]); // 上传文件的完整路径
$uploadOk = 1; // 上传是否成功的标志
// 检查文件是否已经存在
if (file_exists($target_file)) {
echo "对不起,该文件已经存在。";
$uploadOk = 0;
}
// 检查文件大小是否超过限制
if ($_FILES["file"]["size"] > 500000) {
echo "对不起,文件太大。";
$uploadOk = 0;
}
// 允许上传的文件类型
$allowed_types = array("jpg", "png", "jpeg", "gif");
$file_type = strtolower(pathinfo($target_file, PATHINFO_EXTENSION));
if (!in_array($file_type, $allowed_types)) {
echo "对不起,只允许上传 JPG, JPEG, PNG 和 GIF 文件。";
$uploadOk = 0;
}
// 检查上传是否成功
if ($uploadOk == 0) {echo "对不起,文件上传失败。";} else {if (move_uploaded_file($_FILES["file"]["tmp_name"], $target_file)) {echo "文件上传成功。";} else {echo "对不起,文件上传失败。";}
}
以上代码中,$_FILES
是 PHP 全局变量,存储了上传的文件信息,包括文件名、临时文件名、文件类型、文件大小等。move_uploaded_file()
函数将临时文件移动到指定的目录中,如果移动成功,则说明文件上传成功。
- 在上传文件的目录中保存上传的文件。在本例中,上传文件保存在
uploads/
目录中。可以通过以下代码创建目录:
$target_dir = "uploads/";
if (!file_exists($target_dir)) {mkdir($target_dir, 0777, true);
}
以上代码中,mkdir()
函数用于创建目录,参数 0777
表示目录的权限,true
表示递归创建子目录。
- 在上传文件时,为了防止恶意文件上传,需要进行一些安全检查。例如,可以检查文件类型、文件大小、文件是否已经存在等。可以使用 PHP 内置的函数进行这些检查,例如
file_exists()
、strtolower()
、pathinfo()
等。如果检查失败,则不允许上传文件。
丸趣 TV 网 – 提供最优质的资源集合!
正文完