无法打开流:Codeigniter中的HTTP请求失败


failed to open stream: HTTP request failed in Codeigniter

我正在尝试使用Codeigniter从文件中获取字符串。

这在我的控制器中:

$var = file_get_contents(base_url().'file/path/key_file.txt');

但是当调用上面的时,我得到了以下错误:

[函数.file获取内容]:无法打开流:HTTP请求失败!

它在我的本地服务器上运行良好,但当移动到实时web服务器时,我会收到上面的错误。

文件肯定在那里,在正确的地方,因为我可以直接访问它。

现在大多数托管提供商都会阻止允许您使用file_get_contents()furl_open参数。使用CCD_ 3是一种较好且安全的方法。

<?php
$curl_handle=curl_init();
curl_setopt($curl_handle, CURLOPT_URL,base_url().'file/path/key_file.txt');
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_USERAGENT, 'Your application name');
$query = curl_exec($curl_handle);
curl_close($curl_handle);
?>

请确保在您的系统中启用了PHP CURL。

尝试getcwd()而不是base_url()

$var = file_get_contents(getcwd().'/file/path/key_file.txt');

可能是您的服务器不允许从url打开文件,或者更改您的php.ini

allow_url_fopen=1;