Wordpress使用哪些PHP函数下载软件包?

时间:2018-07-26 15:20:12

标签: php wordpress

出于好奇,我想知道什么PHP函数(例如file_get_contents,copy等)被Wordpress用于下载软件包?我知道Wordpress有一个download_url函数,可用于升级其核心软件包(如果我正确的话)。

我在互联网上进行搜索,但没有找到我想知道的内容。 (请不要提及Wordpress网站上提到的过程。)

1 个答案:

答案 0 :(得分:0)

您可以在此处阅读源代码来弄清楚它的用途:

https://core.trac.wordpress.org/browser/tags/4.9.7/src/wp-admin/includes/file.php#L965

似乎使用了名为wp_safe_remote_get的函数,该函数使用_wp_http_get_object。

这将创建WP_Http对象...

https://core.trac.wordpress.org/browser/tags/4.9/src/wp-includes/http.php#L22

https://core.trac.wordpress.org/browser/trunk/src/wp-includes/class-http.php

然后您拥有了:

https://core.trac.wordpress.org/browser/tags/4.9/src/wp-includes/class-requests.php#L357

然后我们转到get_transport函数:

https://core.trac.wordpress.org/browser/tags/4.9/src/wp-includes/class-requests.php#L181

这暗示使用cURL或fsockopen。就是这样。

这里有一些工作原理的例子:

http://php.net/manual/en/stream.examples.php

我将使用php copy函数,因为它更简单并且资源占用更少,因为它不会将有效负载复制到内存中。