Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用CodeIgniter目录映射帮助程序_Php_Codeigniter - Fatal编程技术网

Php 使用CodeIgniter目录映射帮助程序

Php 使用CodeIgniter目录映射帮助程序,php,codeigniter,Php,Codeigniter,我想知道如何在CodeIgniter中使用这个目录映射函数。 有关更多详细信息,请参见手册: 以下是我的工作(某种程度上)和结果: $this->load->helper('directory'); $map = directory_map('textfiles/'); $index = ''; foreach ($map as $dir => $file) { $idx .= "<p> dir: {$dir} </p> <p> fi

我想知道如何在CodeIgniter中使用这个目录映射函数。 有关更多详细信息,请参见手册:

以下是我的工作(某种程度上)和结果:

$this->load->helper('directory');
$map = directory_map('textfiles/');

$index = '';

foreach ($map as $dir => $file) {
  $idx .= "<p> dir: {$dir} </p> <p> file: {$file} </p>";
} #foreach

return $idx;
这是我认为的输出结果:

dir: 0
dir: two
file: Array
dir: three
file: Array
dir: 1
file: test.txt
dir: one
file: Array
正如您在这个结果中看到的,并不是所有的目录或文件都列出了,有些目录或文件显示为数组

在file helper中还有一个名为“get_filenames”的函数。也许它可以与目录映射一起使用

此外,我还发现以下错误:

A PHP Error was encountered
Severity: Notice
Message: Array to string conversion
Filename: welcome.php
Line Number: #

任何帮助都将受到极大的感谢。谢谢=)

您的问题是您正试图打印出一个多维数组

您应该尝试这样做:
深度计数

请更具体地说明您想要的输出

按评论编辑
这个保持路径跟踪

上次编辑
返回函数


这是输入数组的输出。。。我不知道你想打印什么?!你能举例说明你想要什么样的输出吗?只需使用
$map=directory\u map(“./textfiles/”)
?是的,我知道,我使用了你的“print\u dir”函数和$this->load->helper('directory')$map=目录映射('./textfiles/')$此->打印目录($map);但是我得到的输出只有一个目录和一个文件。[文件]:test.txt[目录]:2如果更改了此函数的名称空间,还需要将其更改为函数。将行替换为
echo“[directory]:”,$k,“\n”,$this->print\u dir($v)检查版本,您将获得所需的基础。祝你下一步好运
A PHP Error was encountered
Severity: Notice
Message: Array to string conversion
Filename: welcome.php
Line Number: #
$map = directory_map("./textfiles/");

function print_dir($in,$depth)
{
    foreach ($in as $k => $v)
    {
        if (!is_array($v))
            echo "<p>",str_repeat("&nbsp;&nbsp;&nbsp;",$depth)," ",$v," [file]</p>";
        else
            echo "<p>",str_repeat("&nbsp;&nbsp;&nbsp;",$depth)," <b>",$k,"</b> [directory]</p>",print_dir($v,$depth+1);
    }
}

print_dir($map,0);
function print_dir($in)
{
    foreach ($in as $k => $v)
    {
        if (!is_array($v))
            echo "[file]: ",$v,"\n";
        else
            echo "[directory]: ",$k,"\n",print_dir($v);
    }
}

print_dir($map);
function print_dir($in,$path)
{
    foreach ($in as $k => $v)
    {
        if (!is_array($v))
            echo "[file]: ",$path,$v,"\n";
        else
            echo "[directory]: ",$path,$k,"\n",print_dir($v,$path.$k.DIRECTORY_SEPARATOR);
    }
}

print_dir($map,'');
function print_dir($in,$path)
{
    $buff = '';
    foreach ($in as $k => $v)
    {
        if (!is_array($v))
            $buff .= "[file]: ".$path.$v."\n";
        else
            $buff .= "[directory]: ".$path.$k."\n".print_dir($v,$path.$k.DIRECTORY_SEPARATOR);
    }
    return $buff;
}