如何包含CodeIgniter生成的页面?

时间:2009-12-01 19:16:58

标签: php codeigniter include

包含CI文件最简单的方法是什么? 假设我想在example.com上加入http://example.com/ci/index.php/mycontroller/

example.com不运行CI而我不能包含('ci / index.php / mycontroller')。

4 个答案:

答案 0 :(得分:3)

由于我似乎无法调用CI控制器的功能,所以我决定用jQuery简单地加载页面是最简单的:

$('#myDiv').load('ci/index.php/mycontroller', {}, function(){
        $('#myDiv #loading').hide();
        $('#myDiv #data').slideDown(500);
});

答案 1 :(得分:1)

假设您已将PHP配置为allow url includes,只需...

include('http://example.com/ci/index.php/mycontroller/');

(需要PHP 4.3.0 +)

答案 2 :(得分:0)

根据您要输出的内容,您应该能够设置REQUEST_URI或CI用于确定请求的任何内容,然后只包含引导程序文件......

编辑:实际上,我认为反过来会更好,如果可能的话(再次,这取决于你想要做什么 - 所以请告诉我们)。我的意思是创建一个只包含脚本的CodeIgniter控制器......

答案 3 :(得分:0)

如果您只想显示CI脚本的输出,您可以打开URL,阅读内容并输出它们 - 或使用readfile()。从CI应用程序的角度来看,请求将来自包含服务器(而不是最终用户),并且传递cookie /会话变量将需要使用类似cURL的东西。

如果您确实想要包含源代码,那么这是可能的,但存在安全风险。关于这个主题有几个SO问题:

他们注意到(除其他事项外)要包含您需要确保CI网站不执行页面的源,而只是输出php文件的内容,实际上包括来自URL的代码是非常危险。

您基本上信任所包含的站点(以及请求所经历的所有服务器)以提供(良好)代码,然后包含服务器将毫无疑问地执行。