我使用了此代码形式的外部php脚本来包含codeigniter控制器文件。
include_once "codeigniter/index.php/user";
它不起作用。
'user'
是我的控制器文件。
然而,我可以通过使'user'
成为默认的控制器页面来包括
$route['default_controller']="user";
并用作:
include_once "codeigniter/index.php";
但是如果我需要其他控制器文件呢?
更新:
此外,控制器文件可以通过外部php脚本链接:
<a href="codeigniter/index.php/user">click here</a>
CodeIgniter可以被告知在没有URI时加载默认控制器,就像只请求站点根URL时一样。要指定默认控制器,请打开application/config/routes.php
文件并设置此变量:
$route['default_controller'] = 'User';
其中User
是要使用的控制器类的名称。如果您现在加载主index.php
文件而不指定任何URI段,那么默认情况下您会看到Hello World消息。
在您的情况下,您可以通过以下方式呼叫任何控制器:-
http://localhost/codeigniter/index.php/controller_name/method_name/
这个教程链接将更好地解释:)
若要在外部调用CI控制器,应使用cURL。
$curl_handle=curl_init();
curl_setopt($curl_handle,CURLOPT_URL,'Your_CI_CONTROLLER_URL');
curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2);
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1);
$buffer = curl_exec($curl_handle);
curl_close($curl_handle);
if (empty($buffer)){
print "Nothing returned from url.<p>";
}
else{
print $buffer;
}