无法在外部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>

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;
  }