Welcome Guest, Not a member yet? Register   Sign In
how to pass a multidimensional array to a view
#1

[eluser]atno[/eluser]
Hi,
Im trying to return a multidimensional array to a view but i dont know how to do it, i would appreciate any help

Controller
Code:
function index()
{
    function getFileList($dir, $recurse=false) {
        # array to hold return value
        $retval = array();

        # add trailing slash if missing
        if(substr($dir, -1) != "/") $dir .= "/";

        # open pointer to directory and read list of files
        $d = @dir($dir) or die("getFileList: Failed opening directory $dir for reading");
        while(false !== ($entry = $d->read())) {
                # skip hidden files
                if($entry[0] == ".") continue;
                if(is_dir("$dir$entry")) {
                        $retval[] = array(
                        "path" => "$dir",
                        "name" => "$entry",
                        "type" => filetype("$dir$entry"),
                        "size" => 0,
                        "lastmod" => filemtime("$dir$entry")
                        );
                        if($recurse && is_readable("$dir$entry/")) {
                                $retval = array_merge($retval, getFileList("$dir$entry/", true));
                        }

                } elseif(is_readable("$dir$entry")) {
                        $retval[] = array(
                        "path" => "$dir",
                        "name" => "$entry",
                        "type" => mime_content_type("$dir$entry"),
                        "size" => filesize("$dir$entry"),
                        "lastmod" => filemtime("$dir$entry")
                        );
                }
        }
        $d->close();
        return $retval;
    }
    $data = getFileList('/home/atno/Movies',false);
    $this->load->view('dirlist_view',$data);
}

View
Code:
<table>
  <thead>
    <tr>
      <th>Directory</th>
      <th>Name</th>
      <th>Type</th>
      <th>Size</th>
      <th>Last Mod.</th>
    </tr>
  </thead>
  <tbody>
    &lt;?php foreach ($retval as $file):?&gt;
    <tr>
    <td>&lt;?= $file['path'].$file['name']?&gt;</td>
    <td>&lt;?= $file['name']?&gt;</td>
    <td>&lt;?= $file['type']?&gt;</td>
    <td>&lt;?= $file['size']?&gt;</td>
    <td>&lt;?= date("r", $file['lastmod']) ?&gt; </td>
    </tr>
    &lt;?php endforeach; ?&gt;
     </tbody>
</table>

Thanks,
atno


Messages In This Thread
how to pass a multidimensional array to a view - by El Forum - 01-04-2009, 05:15 AM
how to pass a multidimensional array to a view - by El Forum - 01-04-2009, 08:45 AM
how to pass a multidimensional array to a view - by El Forum - 01-04-2009, 08:59 AM
how to pass a multidimensional array to a view - by El Forum - 01-04-2009, 01:01 PM
how to pass a multidimensional array to a view - by El Forum - 01-04-2009, 04:10 PM



Theme © iAndrew 2016 - Forum software by © MyBB