使用wordpress像php函数将文件下载到服务器

时间:2011-01-08 14:27:00

标签: php wordpress curl fopen

我使用的是一个网站托管网站,该网站目前已阻止了80端口的所有传出流量,因此fopen既不工作也不卷曲但是wordpress能够自行更新... 怎么可能???? 我需要从互联网上获取文件,也可以复制wordpress使用的功能并使用php获取文件..

plz help ..

1 个答案:

答案 0 :(得分:0)

我查看了WordPress更新代码并将其跟踪到发生实际文件下载的WP_Http classfile source)。如果首选函数不可用,此类将使用许多内置方法之一来获取文件:

  

GET / HEAD请求的顺序是HTTP Extension,cURL,Streams,Fopen,最后是Fsockopen。

一种情况是您的主机实际上并未阻止端口80上的流量,而是通过不包括cURL扩展并将allow_url_fopen设置为false来防止常见的代码注入漏洞,从而使文件下载变得困难。在这种情况下,WordPress可能会成功使用其他方法之一来检索数据。在此方案中,您通过PHP脚本下载文件的选项(按优先顺序):

  1. 查看您的主机是否支持HTTP Extension并使用该主机代替fopen或cURL。
  2. 包含并使用wp-includes/class-http.php并在脚本中使用它来克服这些限制。
  3. 编写/使用另一个通过Streams或Fsockopen提供文件下载的库。
  4. 另一种情况是您的主机 阻止了端口80上的流量,但是已经列入白名单的wordpress.org以允许WordPress自行更新。在这种情况下,除非您可以在另一个端口上配置某种代理解决方案,否则您运气不佳。