要上传图片到服务器上,可以使用PHP内置函数move_uploaded_file
,具体步骤如下:
- 在前端页面中添加一个文件选择框,用来选择要上传的图片。
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="image">
<input type="submit" name="submit" value="上传">
</form>
- 后端PHP文件
upload.php
中接收上传的图片,并将其保存到服务器上。
<?php
// 判断是否有文件上传
if(isset($_FILES["image"])){
$errors = array();
$file_name = $_FILES["image"]["name"];
$file_size = $_FILES["image"]["size"];
$file_tmp = $_FILES["image"]["tmp_name"];
$file_type = $_FILES["image"]["type"];
$file_ext_arr = explode(".", $file_name);
$file_ext = end($file_ext_arr);
// 定义允许上传的文件扩展名
$allowed_ext = array("jpg", "jpeg", "png", "gif");
if (in_array($file_ext, $allowed_ext) === false){
$errors[] = "文件扩展名错误,只能上传以下类型的文件: " . implode(",", $allowed_ext);
}
// 定义允许上传的文件大小
$max_file_size = 5 * 1024 * 1024;
if ($file_size > $max_file_size){
$errors[] = "文件大小不能超过 " . $max_file_size/1024/1024 . "MB";
}
// 如果没有错误,上传文件到服务器上
if (empty($errors)){
$new_file_name = time() . "." . $file_ext;
move_uploaded_file($file_tmp, "/path/to/uploaded/files/" . $new_file_name);
echo "文件已上传成功";
} else {
print_r($errors);
}
}
?>
在上述代码中,首先判断是否有文件上传,然后通过判断文件扩展名和文件大小是否符合要求。如果符合要求,就将文件移动到指定的路径,生成一个新的文件名。如果没有错,就输出 success 的信息,否则输出包含错误信息的数组。