Tom: Multi-Dimensionales Array

Beitrag lesen

Hello,

Hab da immer noch n Problem.
Wie bekomme ich ein array aus einer funktion?

return array($array_dir,$array_file);

Das stimmt.
Du brauchst Dann nur das Funktionsergebnis entgegen zu nehmen:

$_dirlist = scan_dir ($original_dir);

foreach ($_dirlist as $enty)
    {
        echo ($array_dir);
        echo '<br />';
    }

In Deinem Code habe ich nochmal herumgespielt:

<?php

function scan_dir ($dir)
{
    $dir = rtrim($dir, '/').'/';

if (!$handle = opendir($dir)) return false;

$_result['link']['name'] = array();
    $_result['dir']['name']  = array();
    $_result['file']['name'] = array();
    $_result['file']['size'] = array();

$_index  = array();
    $_index['file'] = 0;

while (false !== ($res = readdir($handle)))
    {
        if (is_dir($dir.$res) && is_link($dir.$res))
        {
            $_result['link']['name'][] = $dir.$res;
        }
        elseif (is_dir($dir.$res) && $res != '.' && $res != '..')
        {
            $_result['dir']['name'][] = $dir.$res;
        }
        elseif (is_file($dir.$res))
        {
            $_index['file']++;
            $_result['file']['name'][$_index['file']] = $dir.$res;
            $_result['file']['size'][$_index['file']] = filesize($_result['file']['name'][$_index['file']]);
        }
    }

closedir($handle);

natsort($_result['link']['name']);
    natsort($_result['dir']['name']);
    natsort($_result['file']['name']);

return array($_result);
}

#===================================================================================

PHP main

#===================================================================================

$_dirlist = scan_dir ('../../.');

echo "<pre>\r\n";
echo htmlspecialchars(print_r($_dirlist,1));
echo "</pre>\r\n";

?>

Die Trennung von (DIR || LINK) und 'nur' DIR ist mMn wichtig, wenn Du später mit den Ergebnissen weiterarbeiten willst, um das Ganze vielleicht rekursiv abzuwickeln.

Die Links darfst Du dann nicht ungeprüft rekursiv auflösen, sonst könnte sich Dein Programm aufhängen.

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de