php在表单里增加上传文件的按钮,上传文件不得大于2m,文件格式只能是图片,上传的文件保存在当前目录下的photo子目录里,如果没有该子目录则临时创建它,新文件名为当前日期加上原文件名的代码
时间: 2024-02-17 10:01:46 浏览: 24
以下是一个满足您要求的 PHP 代码示例:
```php
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_FILES['file'])) {
$allowedExtensions = array('jpg', 'jpeg', 'png', 'gif');
$maxFileSize = 2 * 1024 * 1024; // 2 MB
$extension = strtolower(pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION));
$tempLocation = $_FILES['file']['tmp_name'];
$fileName = date('YmdHis') . '_' . $_FILES['file']['name'];
$uploadPath = 'photo/' . $fileName;
// Check file type
if (!in_array($extension, $allowedExtensions)) {
echo 'Invalid file type. Only JPG, JPEG, PNG, and GIF files are allowed.';
exit;
}
// Check file size
if ($_FILES['file']['size'] > $maxFileSize) {
echo 'File size exceeds limit of 2 MB.';
exit;
}
// Create photo directory if it doesn't exist
if (!is_dir('photo')) {
mkdir('photo');
}
// Upload file
if (move_uploaded_file($tempLocation, $uploadPath)) {
echo 'File uploaded successfully.';
} else {
echo 'Upload failed.';
}
}
?>
<form method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="Upload">
</form>
```
该代码会检查上传的文件是否为图像文件,并检查文件大小是否超过了2 MB的限制。如果上传的文件满足要求,它将创建一个名为“photo”的目录(如果该目录不存在),并将上传的文件移动到该目录中,并更改文件名以包含当前日期。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)