跳到内容
导航菜单
切换导航
登录
产品
行动
自动化任何工作流
包装
托管和管理包
安全
查找并修复漏洞
代码空间
即时开发环境
GitHub复制
使用AI编写更好的代码
代码审查
管理代码更改
问题
计划和跟踪工作
讨论
在代码外协作
探索
所有功能
文件
GitHub技能
博客
解决
对于
企业
团队
创业公司
教育类
按解决方案
CI/CD和自动化
开发运营
开发安全操作
资源
学习途径
白皮书、电子书、网络研讨会
客户案例
合作伙伴
开放源代码
GitHub赞助商
资助开源开发人员
ReadME项目
GitHub社区文章
存储库
话题
趋向
收藏
企业
企业平台
AI驱动的开发人员平台
可用附加组件
高级安全
企业级安全功能
GitHub复制
企业级AI功能
特优支持
企业级全天候支持
定价
搜索或跳转到。。。
搜索代码、存储库、用户、问题、拉取请求。。。
搜索
清除
搜索语法提示
提供反馈
我们阅读了每一条反馈,并非常认真地对待您的意见。
包括我的电子邮件地址以便联系我
保存的搜索
使用保存的搜索更快地筛选结果
姓名
查询
要查看所有可用的限定符,请参阅我们的
文档
.
登录
注册
您使用另一个选项卡或窗口登录。
重新加载
刷新会话。
您在另一个选项卡或窗口中注销。
重新加载
刷新会话。
您在另一个选项卡或窗口上切换了帐户。
重新加载
刷新会话。
解除警报
{{消息}}
WordPress(文字出版社)
/
文字印刷-开发
公共镜像
镜像自
git://develop.git.wordpress.org/
通知
您必须登录才能更改通知设置
福克
240公里
星形
230公里
代码
Pull请求
1.5公里
行动
安全
洞察力
其他导航选项
代码
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字符串$包
*/
公众的
$
包裹
;
/**
*文件的名称。
*
*@自2.8.0起
*@var字符串$文件名
*/
公众的
$
文件名
;
/**
*此文件的附件帖子的ID。
*
*@自3.3.0起
*@var整数$id
*/
公众的
$
身份证件
=
0
;
/**
*构造窗体的升级程序。
*
*@自2.8.0起
*
*@param string$form上传文件的表单的名称。
*@param string$urlholder保存文件名的`GET`参数的名称。
*/
公众的
功能
__构造
(
$
形式
,
$
URL文件夹
) {
如果
(空(
$
_文件
[
$
形式
][
“名称”
])&&空(
$
_GET(获取)
[
$
网址持有者
] ) ) {
wp_die(__(
'请选择文件'
) );
}
//处理新上传的文件。
否则,假设它已经上传。
如果
(!空(
$
_文件
) ) {
$
覆盖
=
阵列
(
'测试表单'
=>
虚假的
,
'测试类型'
=>
虚假的
,
);
$
文件
=wp_handle_upload(
$
_文件
[
$
形式
],
$
覆盖
);
如果
(发行(
$
文件
[
“错误”
] ) ) {
wp_die(&D)(
$
文件
[
“错误”
] );
}
如果
(
'插件zip'
===
$
形式
||
“themezip”
===
$
形式
) {
如果
(!wp_zip_file_is_valid(
$
文件
[
'文件'
] ) ) {
wp_delete_文件(
$
文件
[
'文件'
] );
wp_die(__(
“不兼容的存档。”
) );
}
}
$
这
->
文件名
=
$
_文件
[
$
形式
][
“名称”
];
$
这
->
包裹
=
$
文件
[
'文件'
];
//构造附件数组。
$
附件
=
阵列
(
'帖子标题'
=>
$
这
->
文件名
,
'帖子内容'
=>
$
文件
[
“url”
],
'帖子时间类型'
=>
$
文件
[
“类型”
],
“guid”
=>
$
文件
[
“url”
],
“上下文”
=>
'升级程序'
,
'发布状态'
=>
“私人”
,
);
//保存数据。
$
这
->
身份证件
=wp_insert_attachment(
$
附件
,
$
文件
[
'文件'
] );
//如果安装失败,请安排2小时的清理时间。
wp_schedule_single_event(时间)+
2
*
小时_秒
,
'upgrader_scheduled_cleanup'
,
阵列
(
$
这
->
身份证件
) );
}
埃尔塞夫
(是_数字(
$
_GET(获取)
[
$
URL文件夹
])){
//数字包=先前上传的文件,见上文。
$
这
->
身份证件
= (
整数
)
$
_GET(获取)
[
$
URL文件夹
];
$
附件
=获取发布(
$
这
->
身份证件
);
如果
(空(
$
附件
) ) {
wp_die(__(
'请选择文件'
) );
}
$
这
->
文件名
=
$
附件
->
标题(_T)
;
$
这
->
包裹
=获取附加文件(
$
附件
->
身份证件
);
}
其他的
{
//否则,它设置为使用旧的(3.3之前的)File_Uploader处理程序对插件进行Back-compat。
$
上传
=wp_upload_dir();
如果
((
$
上传
&&
虚假的
===
$
上传
[
“错误”
] ) ) {
wp_die(&D)(
$
上传
[
“错误”
] );
}
$
这
->
文件名
=清理文件名(
$
_GET(获取)
[
$
URL文件夹
] );
$
这
->
包裹
=
$
上传
[
'基础目录'
] .
'/'
.
$
这
->
文件名
;
如果
(!str_starts_with(实际路径(
$
这
->
包裹
),realpath(
$
上传
[
'基础目录'
] ) ) ) {
wp_die(__(
'请选择文件'
) );
}
}
}
/**
*删除附件/上传的文件。
*
*@自3.2.2起
*
*@return bool清理是否成功。
*/
公众的
功能
清理
() {
如果
(
$
这
->
身份证件
) {
wp_删除_附件(
$
这
->
身份证件
);
}
埃尔塞夫
(文件已存在(
$
这
->
包裹
) ) {
返回
@取消链接(
$
这
->
包裹
);
}
返回
真的
;
}
}
此时无法执行该操作。