php接受html上传的文件
时间: 2024-03-07 19:49:27 浏览: 14
要在 PHP 中接收 HTML 表单上传的文件,可以使用 $_FILES 超全局变量。
以下是一个例子:
HTML 表单:
```html
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="Upload">
</form>
```
PHP 脚本(upload.php):
```php
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$file = $_FILES['file'];
// 检查是否有错误
if ($file['error'] !== UPLOAD_ERR_OK) {
echo '上传失败';
exit();
}
// 检查文件类型和大小
$allowed_types = ['image/jpeg', 'image/png'];
$max_size = 1024 * 1024; // 1MB
if (!in_array($file['type'], $allowed_types) || $file['size'] > $max_size) {
echo '文件格式或大小不正确';
exit();
}
// 移动文件到指定位置
$upload_dir = 'uploads/';
$upload_file = $upload_dir . basename($file['name']);
if (!move_uploaded_file($file['tmp_name'], $upload_file)) {
echo '上传失败';
exit();
}
echo '上传成功';
}
?>
```
在上面的例子中,首先通过 $_FILES['file'] 获取上传的文件信息,然后进行一些检查(如文件类型和大小),最后将文件移动到指定位置。如果上传成功,则输出“上传成功”,否则输出“上传失败”。