-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathupload.php
47 lines (39 loc) · 1.59 KB
/
upload.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
// 检查是否有上传的文件,并检查是否出现错误
if (isset($_FILES['file']) && $_FILES['file']['error'] == 0) {
// 获取上传文件的临时文件名和名称
$tmp_name = $_FILES['file']['tmp_name'];
// 通过 pathinfo 函数获取上传文件的扩展名
$tmp_name = $_FILES['file']['tmp_name'];
// 获取文件类型
$mime_type = mime_content_type($tmp_name);
if (strpos($mime_type, 'image/') === 0) { // 文件类型为图片
// 获取文件扩展名
$ext = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
// 使用 uniqid 函数生成一个随机的文件名
$ram = uniqid();
$name = uniqid() . '.' . $ext;
// 拼接上传文件请求路径
$uploads_dir = 'D:/wwwroot/upload.devopen.top/upload/';
$target_file = $uploads_dir . $name;
// 将临时文件移动到目标路径
if (move_uploaded_file($tmp_name, $target_file)) {
// 返回成功信息,并将文件名作为响应体返回
http_response_code(200);
echo basename($name);
} else {
// 返回上传失败的错误信息和状态码
http_response_code(500);
echo "文件上传失败。";
}
} else { // 文件类型不是图片
// 返回错误信息和状态码
http_response_code(400);
echo "只能上传图片文件。";
}
} else {
// 返回上传失败的错误信息和状态码
http_response_code(400);
echo "无法上传文件。";
}
?>