跳到内容
导航菜单
切换导航
登录
产品
行动
自动化任何工作流
包装
托管和管理包
安全
查找并修复漏洞
代码空间
即时开发环境
GitHub Copilot公司
使用AI编写更好的代码
代码审查
管理代码更改
问题
计划和跟踪工作
讨论
在代码外协作
探索
所有功能
文档
GitHub技能
博客
解决
按大小
企业
团队
创业公司
按行业划分
保健
金融服务
制造业
按用例
CI/CD和自动化
开发运营
开发安全操作
资源
话题
人工智能
开发运营
安全
软件开发
查看全部
探索
学习途径
白皮书、电子书、网络研讨会
客户案例
合作伙伴
开放源代码
GitHub赞助商
资助开源开发人员
ReadME项目
GitHub社区文章
存储库
话题
趋向
收藏
企业
企业平台
AI驱动的开发人员平台
可用附加组件
高级安全
企业级安全功能
GitHub Copilot公司
企业级AI功能
特优支持
企业级全天候支持
定价
搜索或跳转到。。。
搜索代码、存储库、用户、问题、推送请求。。。
搜索
清除
搜索语法提示
提供反馈
我们阅读了每一条反馈,并非常认真地对待您的意见。
包括我的电子邮件地址以便联系我
保存的搜索
使用保存的搜索更快地筛选结果
姓名
查询
要查看所有可用的限定符,请参阅我们的
文档
.
登录
注册
重置焦点
您使用另一个选项卡或窗口登录。
重新加载
刷新会话。
您在另一个选项卡或窗口中注销。
重新加载
刷新会话。
您在另一个选项卡或窗口上切换了帐户。
重新加载
刷新会话。
解除警报
{{消息}}
WordPress(文字出版社)
/
文字印刷-开发
公共镜像
镜像自
git://develop.git.wordpress.org/
通知
您必须登录才能更改通知设置
福克
2.5公里
星星
2.5公里
代码
Pull请求
1.7公里
行动
安全
洞察力
其他导航选项
代码
Pull请求
行动
安全
洞察力
文件夹
6.5
面包屑
文字印刷-开发
/
型钢混凝土
/
wp-管理员
/
包括
/
class-file-upload-upgrader.php类
责备
责备
最新提交
历史
历史
141行(121个位置)·3.55 KB
6.5
面包屑
文字印刷-开发
/
型钢混凝土
/
wp-管理员
/
包括
/
class-file-upload-upgrader.php类
顶部
文件元数据和控件
代码
责备
141行(121个位置)·3.55 KB
原始
1
2
三
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
<?
php(电话)
/**
*升级API:File_Upload_Upgrader类
*
*@package WordPress
*@子包升级程序
*@自4.6.0起
*/
/**
*用于处理文件上传的核心类。
*
*此类处理上传过程并将其作为本地文件进行传递
*升级/安装程序功能。
*
*@自2.8.0起
*@since 4.6.0已从wp-admin/includes/class-wp-upgrader.php移至其自己的文件。
*/
#[
允许动态属性
]
班
文件上载升级程序
{
/**
*文件包的完整路径。
*
*@自2.8.0起
*@var字符串$package
*/
公众的
$
包裹
;
/**
*文件的名称。
*
*@自2.8.0起
*@var字符串$文件名
*/
公众的
$
文件名
;
/**
*此文件的附件帖子的ID。
*
*@自3.3.0起
*@var整数$id
*/
公众的
$
身份证件
=
0
;
/**
*构造窗体的升级程序。
*
*@自2.8.0起
*
*@param string$form上传文件的表单的名称。
*@param string$urlholder保存文件名的`GET`参数的名称。
*/
公众的
功能
__构造
(
$
形式
,
$
URL文件夹
) {
如果
(
空的
(
$
_文件
[
$
形式
][
'
名称
'
] ) &&
空的
(
$
_GET(获取)
[
$
URL文件夹
] ) ) {
wp_die
(
__
(
'
请选择一个文件
'
) );
}
//处理新上传的文件。
否则,假设它已经上传了。
如果
( !
空的
(
$
_文件
) ) {
$
覆盖
=
阵列
(
'
测试表单
'
=>
假
,
'
测试类型
'
=>
假
,
);
$
文件
=
wp_handle_upload(上传)
(
$
_文件
[
$
形式
],
$
覆盖
);
如果
(
发行
(
$
文件
[
'
错误
'
] ) ) {
wp_die
(
$
文件
[
'
错误
'
] );
}
如果
(
'
插件zip
'
===
$
形式
||
'
themezip公司
'
===
$
形式
) {
如果
( !
wp_zip_file_is_valid
(
$
文件
[
'
文件
'
] ) ) {
wp_delete_文件
(
$
文件
[
'
文件
'
] );
wp_die
(
__
(
'
存档不兼容。
'
) );
}
}
$
这
->
文件名
=
$
_文件
[
$
形式
][
'
名称
'
];
$
这
->
包裹
=
$
文件
[
'
文件
'
];
//构造附件数组。
$
附件
=
阵列
(
'
标题(_T)
'
=>
$
这
->
文件名
,
'
帖子_内容
'
=>
$
文件
[
'
网址
'
],
'
帖子时间类型
'
=>
$
文件
[
'
类型
'
],
'
指南
'
=>
$
文件
[
'
网址
'
],
'
上下文
'
=>
'
升级程序
'
,
'
职位_状态
'
=>
'
私有的
'
,
);
//保存数据。
$
这
->
身份证件
=
wp_插入_附件
(
$
附件
,
$
文件
[
'
文件
'
] );
//如果安装失败,请安排2小时的清理时间。
wp计划单事件
(
时间
() +
2
*
小时_秒
,
'
upgrader_scheduled_cleanup
'
,
阵列
(
$
这
->
身份证件
) );
}
埃尔塞夫
(
是数字(_N)
(
$
_GET(获取)
[
$
URL文件夹
] ) ) {
//数字包=先前上传的文件,见上文。
$
这
->
身份证件
= (
整数
)
$
_GET(获取)
[
$
URL文件夹
];
$
附件
=
获取_发布
(
$
这
->
身份证件
);
如果
(
空的
(
$
附件
) ) {
wp_die
(
__
(
'
请选择一个文件
'
) );
}
$
这
->
文件名
=
$
附件
->
标题(_T)
;
$
这
->
包裹
=
获取附加文件
(
$
附件
->
身份证件
);
}
其他的
{
//否则,它设置为使用旧的(3.3之前的)File_Uploader处理程序对插件进行Back-compat。
$
上传
=
wp_upload_dir(上传目录)
();
如果
( ! (
$
上传
&&
假
===
$
上传
[
'
错误
'
] ) ) {
wp_die
(
$
上传
[
'
错误
'
] );
}
$
这
->
文件名
=
清理文件名
(
$
_GET(获取)
[
$
网址持有者
] );
$
这
->
包裹
=
$
上传
[
'
基本目录
'
] .
'
/
'
.
$
这
->
文件名
;
如果
( !
str_starts_与
(
真实路径
(
$
这
->
包裹
),
真实路径
(
$
上传
[
'
基本目录
'
] ) ) ) {
wp_die
(
__
(
'
请选择一个文件
'
) );
}
}
}
/**
*删除附件/上传的文件。
*
*@自3.2.2起
*
*@return bool清理是否成功。
*/
公众的
功能
清理
() {
如果
(
$
这
->
身份证件
) {
wp_删除_附件
(
$
这
->
身份证件
);
}
埃尔塞夫
(
文件存在(_E)
(
$
这
->
包裹
) ) {
返回
@
取消链接
(
$
这
->
包裹
);
}
返回
真的
;
}
}
此时无法执行该操作。