0

FTP上のフォルダとファイルに基づいた小さな画像ギャラリーの設定に関連するreaddir()、is_dir()などのチュートリアルに従っています。$ directorys [] =$file;とは何だろうと思っていました。一部は具体的にしますか?

while( $file= readdir( $dir_handle ) )      
{
        if( is_dir( $file ) ){              
            $directorys[] = $file;          
        }else{                              
            $files[] = $file;               
        }
}
4

5 に答える 5

3

$directoryは配列です。

コード

$directory[] = $file

配列$fileの最後に追加します。$directoryこれはと同じです

array_push($directory, $file)

phpdocsのarray_pushで詳細を確認してください

于 2012-01-09T20:21:02.630 に答える
2

$ fileには、スキャンされたアイテムの名前が含まれます。この場合、is_dir($ file)を使用すると、現在のディレクトリの$fileがディレクトリであるかどうかを確認できます。

次に、標準の配列追加演算子[]を使用して、$file名またはディレクトリ名が$files /$directorys配列に追加されます。

于 2012-01-09T20:20:51.813 に答える
1

directoryディレクトリを配列に追加します:)

    if( is_dir( $file ) ){              
        $directorys[] = $file; // current item is a directory so add it to the list of directories       
    }else{                              
        $files[] = $file; // current item is a file so add it to the list of files
    }

ただし、PHP 5を使用する場合は、を使用することをお勧めしますDirectoryIterator

ところで$file、それは必ずしもファイルではないので、それは本当に悪い名前です。

于 2012-01-09T20:20:01.890 に答える
1

アイテムを配列にプッシュするのでarray_pushはなく、1つのアイテムのみを配列にプッシュします。

使用array_pushと動作は同じですが、配列内の複数のアイテムをプッシュするのに適しているため、$array[] = $item使用するのは理想的ではありません。array_push

例:

Array (
)

これを実行した後、$array[] = 'This works!';またはarray_push($array, 'This works!')次のように表示されます。

Array (
   [0] => This works!
)

また、次のように、配列を配列にプッシュすることもできます。

$array[] = array('item', 'item2');

Array (
   [0] => Array (
             [0] => item
             [1] => item2
          )
)
于 2012-01-09T20:20:19.870 に答える
0

配列の最後に新しい配列要素を作成し、それに値を割り当てます。

于 2012-01-09T20:20:20.720 に答える