HTML 表单:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>File Upload Example</title>
</head>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
<label for="file">Choose a file:</label>
<input type="file" name="file" id="file">
<br>
<input type="submit" value="Upload File">
</form>
</body>
</html>
PHP 处理脚本 (upload.php):
<?php
// 检查文件是否通过 HTTP POST 上传
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// 获取上传文件的信息
$fileName = $_FILES["file"]["name"];
$fileType = $_FILES["file"]["type"];
$fileSize = $_FILES["file"]["size"];
$fileTmpName = $_FILES["file"]["tmp_name"];
$fileError = $_FILES["file"]["error"];
// 指定上传目录
$uploadDirectory = "uploads/";
// 检查上传是否成功
if ($fileError === 0) {
// 移动文件到上传目录
$destination = $uploadDirectory . $fileName;
move_uploaded_file($fileTmpName, $destination);
echo "File uploaded successfully!";
} else {
echo "Error uploading file. Error code: $fileError";
}
}
?>
在这个例子中:
- HTML 表单使用 enctype="multipart/form-data" 来支持文件上传。
- PHP 处理脚本 (upload.php) 使用 $_FILES 超全局数组来获取上传文件的信息。
- 脚本检查了上传是否成功,如果成功,则将文件移动到指定的上传目录(在这里是 "uploads/" 目录)。
确保在服务器上创建一个名为 "uploads" 的目录,并确保该目录对PHP进程有写权限。
请注意,文件上传是一个潜在的安全风险,因此你应该始终验证和过滤用户上传的文件。在生产环境中,你还应该限制上传文件的类型和大小,并采取其他安全措施。
转载请注明出处:http://www.zyzy.cn/article/detail/3424/PHP