2011年12月19日月曜日

とあるディレクトリ以下のファイルのURLをすべて取得する 第一夜

とあるディレクトリ以下のファイルのURLをすべて取得する。
こんな場面、あると思います。

PHP4もPHP5も共通で使えて、簡単で、早くてっていうコードを探しておりました。
自分でもいろいろ試行錯誤して作ってみたので晒します。

といってもたいしたこと無いですが、一つはPHPに搭載のglob関数を使うもの、もう一つはLinuxコマンドを実行する方法です。





■glob関数を使う



コードです。



function glob3($dir = './'){

//ファイルパスを格納する配列
$list = array();

//引数で与えられたパスのディレクトリ配下の情報を取得
$tmp = glob($dir . '*');

//取得した情報をループで回す
foreach($tmp as $t){

//もしディレクトリなら再帰処理
if(is_dir($t)){
$ls = glob3($t.'/*');
$list = array_merge($list , $ls);
}

//もしファイルなら配列へ格納
if(is_file($t)){
$list[] = $t;
}

}

return $list;
}

関数名のglob3に意味はありません。これならscandirがないPHP4でも利用できます。

Linuxコマンドを利用する方法は次回。










0 件のコメント:

コメントを投稿

ザ・シークレットサービス

大層ななまえですが、選択した文字列をシークレットウインドウ内で、 Google検索するというものです。 https://docs.google.com/open?id=0B58uK3aQr15IM0ItWk1WVnFUWnVleXJVWEhqUktCdw 1...