无法在外部php脚本中包含codeigniter控制器文件

时间:2016-01-07 10:20:34

标签: php codeigniter include

我已使用此代码形式的外部php脚本来包含codeigniter控制器文件。

'user'

它不起作用。

'user'是我的控制器文件。

但是我可以通过将$route['default_controller']="user"; 设为默认控制器页面来包含

include_once "codeigniter/index.php";

并用作:

<a href="codeigniter/index.php/user">click here</a>

但如果我需要其他控制器文件怎么办?

更新

此外,控制器文件可以通过外部php脚本链接:

{{1}}

1 个答案:

答案 0 :(得分:1)

当URI不存在时,可以告诉CodeIgniter加载默认控制器,就像只请求您的站点根URL一样。要指定默认控制器,请打开application/config/routes.php文件并设置此变量:

$route['default_controller'] = 'User';

其中User是您要使用的控制器类的名称。如果您现在加载主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;
  }