0

readdirを使用して、次のようなフォルダからすべての画像を取得しています

function get_user_image($valid_user){
    $rootdir = "../../../user/".$valid_user;
    $dir = opendir("../../../user/".$valid_user);
    $image = array();
    scan_image($image,$rootdir);
    print_r($image);
}
function scan_image($arr,$root){
    $dir = opendir($root);
    while (false!=($file=readdir($dir))){
        if($file!='.'&&$file!='..'){
            $isfile = strripos($file, ".");
            if($isfile)
            {
                $filetype = substr($file,$isfile+1);
                if($filetype=="jpg")
                {
                    //echo $file."</br>";
                    array_push($arr, $file);

                    echo sizeof($arr)."</br>";

                }
            }
             else
            {
                 $curpath = $root."/".$file;
                 scan_image($arr,$curpath);
            }
        }

     }
 }

しかし、print_r($ image)は空ですが、echo sizeof($ arr)は正しいのですが、なぜでしょうか。

4

1 に答える 1

2

参照渡しで配列を渡す

function scan_image(&$arr,$root){
于 2012-05-08T05:23:23.363 に答える