我正在尝试使用Codeigniter从文件中获取字符串。
这是在我的控制器中:
$var = file_get_contents(base_url().'file/path/key_file.txt');
但是在调用上述内容时出现以下错误:
[function.file-get-contents]:无法打开流:HTTP请求失败!
它在我的本地服务器上工作正常,但当移动到实时Web服务器时,我收到上述错误。
该文件肯定存在于正确的位置,因为我可以直接访问它。
答案 0 :(得分:0)
现在,大多数托管服务提供商会屏蔽furl_open
参数,该参数允许您使用file_get_contents()
。使用CURL
更好,更安全。
<?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。
答案 1 :(得分:0)
托盘getcwd()
代替base_url()
$var = file_get_contents(getcwd().'/file/path/key_file.txt');
可能是您的服务器不允许从网址打开文件,或者更改您的php.ini
allow_url_fopen=1;