我正在尝试使用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;