file_get_contents() 不适用于本地服务器上的文件,可通过 HTTP 访问


file_get_contents() not working for files on local server and accessed via http

我在使用 file_get_contents() 的 wordpress 插件时遇到问题插件作者是这样说的:

"file_get_contents() 配置为在您的服务器上工作的方式存在问题。这是 Wordpress 函数 wp_remote_get() 使用的核心 PHP 函数。此功能对于合并不属于Wordpress媒体库的任何文件至关重要。

file_get_contents() 的问题在于它不适用于本地服务器上存在并通过 http 访问的文件。

谁能告诉我该做什么或有一些空闲时间来帮助我?我不是程序员,不知道如何解决这个问题。托管公司表示,不为软件相关问题提供支持,pffff!

此致敬意加布里埃尔

使用 CURL 解决了这个问题。这是代码。它将适用于远程文件,例如 http://yourdomain.com/file.ext

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, ''.$file_path_str.'');
curl_setopt($ch, CURLOPT_HTTPGET, 1);
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_setopt ($ch, CURLOPT_USERAGENT, sprintf("Mozilla/%d.0",rand(4,5)));
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_MAXREDIRS, 10);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$curl_response_res = curl_exec ($ch);
curl_close ($ch);

谢谢