html选择本地图片传回后端代码
时间: 2023-11-02 20:05:15 浏览: 32
这里给出一个简单的例子:
HTML代码:
```
<form method="post" enctype="multipart/form-data">
<input type="file" name="image" accept="image/*">
<input type="submit" value="上传">
</form>
```
这里使用了form表单的enctype属性,告诉浏览器以二进制流的方式上传文件。
PHP代码:
```
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$image = $_FILES["image"];
$target_dir = "uploads/";
$target_file = $target_dir . basename($image["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
// 检查文件是否为图片
if(isset($_POST["submit"])) {
$check = getimagesize($image["tmp_name"]);
if($check !== false) {
$uploadOk = 1;
} else {
echo "文件不是图片。";
$uploadOk = 0;
}
}
// 检查文件是否已存在
if (file_exists($target_file)) {
echo "文件已存在。";
$uploadOk = 0;
}
// 检查文件大小
if ($image["size"] > 500000) {
echo "文件过大。";
$uploadOk = 0;
}
// 允许上传的文件格式
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
echo "只允许上传 JPG, JPEG, PNG 和 GIF 格式的文件。";
$uploadOk = 0;
}
// 检查是否有错误
if ($uploadOk == 0) {
echo "上传失败。";
} else {
if (move_uploaded_file($image["tmp_name"], $target_file)) {
echo "文件 ". basename($image["name"]). " 已上传。";
} else {
echo "上传失败。";
}
}
}
?>
```
这里使用了PHP的$_FILES超全局变量来获取上传的文件信息。然后进行一系列的检查,包括文件类型、文件大小、文件是否已存在等等。最后如果没有错误,就将文件移动到指定的目录中。