我想从浏览器运行网址并获取位于我的项目之外的文件内容,例如:/home/fessy/file.txt
我使用codeigniter和doctrine。
我有一个方法:
class Api extends REST_Controller {
// ....
public function get_file_content_get(){
var_dump(array('ftp_path' => $this->uri->segments));
$name = $this->uri->segment(3);
$rootPath = $this->uri->segment(4);
$file = file_get_contents("$rootPath/$name.txt", FILE_USE_INCLUDE_PATH);
// $this->_response('success', array('file_contents' => $file));
}
所以我生成了我的URL:
site.com/index.php/api/get_file_content_get/118130/%2Fhome%2Ffessy%2Ffile.txt
但是我收到了一个错误:
<xml>
<status/>
<error>Unknown method.</error>
</xml>
当我将超级课程从REST_Controller
更改为CI_Controller
时,我成功调用get_file_content_get
方法。
我的活动无法让site.com/index.php/api/get_file_content_get/
致电index()
我做错了什么?
感谢,
答案 0 :(得分:0)
发现问题:
我需要删除_get
后缀,因为Doctrine使用此后缀作为GET指示符
相反:
site.com/index.php/api/get_file_content_get/118130/%2Fhome%2Ffessy%2Ffile.txt
应该是:
site.com/index.php/api/get_file_content/118130/%2Fhome%2Ffessy%2Ffile.txt