我如何在控制器函数中加载目录作为视图:Codeigniter

Posted

技术标签:

【中文标题】我如何在控制器函数中加载目录作为视图:Codeigniter【英文标题】:How i can load a directory as view in a controller function : Codeigniter 【发布时间】:2015-12-13 04:06:01 【问题描述】:

我有一个文件夹,其中包含一些 API 文件,我已将整个文件夹放入视图目录,现在我想将整个文件夹作为视图加载,而不是任何单个文件。

例如,我有一个文件夹名称 review,所以我想将整个文件夹加载为视图。

我已经尝试了一些东西,但每次在目录之后添加 .php 扩展名时,我如何做到这一点:我有以下功能...

enter code here public function load_root()
 $root_url = $this->load->view('/review/');
  

【问题讨论】:

你想从那个文件夹一次加载所有文件?? 实际上我需要整个目录作为我必须用作 url 的路径。 是否只包含.php文件? 没有其他文件,如 css 图像。 【参考方案1】:

使用scandir 扫描文件夹中的所有文件。

$dir    = '/folder_name';
$files = scandir($dir);

print_r($files);// will print all the files inside the folder.

使用foreach,并加载文件夹中的所有视图。

【讨论】:

我必须创建如下路径:localhost/traffictack/index.php/user/load_root 这是我的基本网址:localhost/traffictack/index.php,我有一个用户作为控制器,然后在该控制器中我有一个函数 load_root,它必须加载整个目录从视图中。【参考方案2】:

你需要加载helper('directory')

试试

$this->load->helper('directory');
$files = directory_map('reviews')); // Directory Name here

foreach($files as $file)

    $this->load->view('/review/'.$file);

注意:以上代码适用于 CodeIgniter 3+

【讨论】:

以上是关于我如何在控制器函数中加载目录作为视图:Codeigniter的主要内容,如果未能解决你的问题,请参考以下文章

无法在 UIView 中加载控制器的视图

如何在 UITabBarController 中加载所有视图?

如何从当前视图控制器的实现文件中加载另一个视图控制器?

如何在 Swift 3 中加载/删除带有动画的自定义视图

在导航视图控制器中加载特定视图

如何在 iOS 应用中加载初始 UIViewController?