无法在外部 php 脚本中包含 codeigniter 控制器文件
Could not include codeigniter controller files in external php script
我已经使用此代码形式的外部 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>
当 URI 不存在时,可以告诉 CodeIgniter 加载默认控制器,就像仅请求站点根 URL 时的情况一样。要指定默认控制器,请打开您的 application/config/routes.php
文件并设置此变量:
$route['default_controller'] = 'User';
其中 User
是您要使用的控制器的名称 class。如果您现在加载主 index.php
文件而不指定任何 URI 段,您将默认看到您的 Hello World 消息。
在您的情况下,您可以通过以下方式调用任何控制器:-
http://localhost/codeigniter/index.php/controller_name/method_name/
这个tutorial link会解释得更好:)
要在外部调用 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;
}
我已经使用此代码形式的外部 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>
当 URI 不存在时,可以告诉 CodeIgniter 加载默认控制器,就像仅请求站点根 URL 时的情况一样。要指定默认控制器,请打开您的 application/config/routes.php
文件并设置此变量:
$route['default_controller'] = 'User';
其中 User
是您要使用的控制器的名称 class。如果您现在加载主 index.php
文件而不指定任何 URI 段,您将默认看到您的 Hello World 消息。
在您的情况下,您可以通过以下方式调用任何控制器:-
http://localhost/codeigniter/index.php/controller_name/method_name/
这个tutorial link会解释得更好:)
要在外部调用 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;
}