可以使用PHP的$_FILES超全局变量来接收上传的文件。具体操作步骤如下:
- 在 HTML 表单中,使用< input type="file" >元素来创建文件上传字段。
例如:
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="上传文件" name="submit">
</form>
- 在 PHP 脚本中,使用$_FILES超全局变量来处理上传的文件。$_FILES变量是一个关联数组,包含上传文件的名称、类型、大小、临时文件名和目标文件名等信息。
例如:
$target_dir = "uploads/"; // 上传文件目录
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); // 目标文件名
$uploadOk = 1;
// 判断文件是否已经存在
if (file_exists($target_file)) {
echo "文件已经存在!";
$uploadOk = 0;
}
// 判断上传文件的大小是否超过限制
if ($_FILES["fileToUpload"]["size"] > 500000) {
echo "文件太大!";
$uploadOk = 0;
}
// 判断文件格式是否支持
if (pathinfo($target_file,PATHINFO_EXTENSION) != "jpg" && pathinfo($target_file,PATHINFO_EXTENSION) != "png" && pathinfo($target_file,PATHINFO_EXTENSION) != "jpeg"
&& pathinfo($target_file,PATHINFO_EXTENSION) != "gif" ) {
echo "只支持 JPG, JPEG, PNG 和 GIF 格式!";
$uploadOk = 0;
}
// 判断文件是否上传成功
if ($uploadOk == 0) {
echo "文件上传失败!";
} else {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "文件上传成功!";
} else {
echo "文件上传失败!";
}
}
在这个例子里,上传的文件将被移动到"uploads/"目录下,并被重命名为原始文件名。在处理上传文件时,要注意安全问题,比如限制上传文件的大小、检查文件类型等。