ホームページ > バックエンド開発 > PHPチュートリアル > PHP は冗長コードなしでフォルダー トラバーサルを完了します

PHP は冗長コードなしでフォルダー トラバーサルを完了します

WBOY
リリース: 2016-06-13 13:11:39
オリジナル
871 人が閲覧しました

PHP は冗長なコードなしでフォルダーを完全に走査します
パラメータ 2
0 ディレクトリ内のファイルを返します
1 ディレクトリ内のファイル + ディレクトリを返します
2 ディレクトリ内のすべてのファイル + 空のディレクトリを返します (一部のカテゴリ 2 用に開発された、ヘッダーが不適切です - _-b)
3 ディレクトリ内のすべてのファイルに戻ります
4 ディレクトリ内のすべてのファイル + ディレクトリに戻ります
5 ディレクトリ内のすべてのディレクトリに戻ります
6 ディレクトリ内のディレクトリに戻ります

何も言わずにコードに直接進みます

function get_dir( $a, $s = 0, $d = array( '.', '..' ), $f = array() )
{
	foreach ( scandir( $a ) as $g )
	{
		if ( !in_array( $g, $d ) )
		{
			$g = $a . '/' . $g;
			if ( $s > 0 && is_dir( $g ) )
			{
				( $s == 1 || $s > 3 || ( $s == 2 && count( scandir( $g ) ) == 2 ) ) && $f[] = $g . '/';
				$s > 1 && $s < 6 && $f = get_dir( $g, $s, $d, $f );
			}
			else
			{
				( ( $s && $s < 5 ) || ( !$s && is_file( $g ) ) ) && $f[] = $g;
			};
		};
	};
	return $f;
}
ログイン後にコピー

1階 バプトロイ 2011-09-26
PHP は冗長コードなしでフォルダー トラバーサルを完了します 偉人たちから学ぶ
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート