2011年12月19日月曜日

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


(とあるディレクトリ以下のファイルのURLをすべて取得する 2)からの続きです。

PHPには関数としてそのようなものは見つけられませんでした。
いろいろ検索をしていると、皆さんさまざまにアプローチしてらっしゃるのがわかります。

大まかに手法を分けると以下の2通りのようです。

scandir関数を使う
opendir関数を使う

scandir関数はPHP5から搭載された便利な関数ですね。
基本的にやってることはどれもほとんど代わりがないです。
実行速度の違いがあるのか幾つかの手法をテストしてみました。

検索対象の内容として、全文検索システム Namazu http://www.namazu.org/index.html.ja
ファイル群が対象です。



それと自作の関数とか他のテクニックも試してみたので、ご参考までに。
試したのは以下の通りです。


■get_files
PHP でサブディレクトリ内のファイル名をすべて取得 ≪ メモとか
http://wokamoto.wordpress.com/2011/09/22/get-all-files-name/


■scan_image
PHP ディレクトリ以下のファイルを再帰的に取得 - 130単位
http://d.hatena.ne.jp/deeeki/20100602/get_files_recursive
→画像だけでなくすべてのファイルを取得するように変更

■getFileList($dir)
指定したディレクトリ以下のファイルを取得(サブフォルダ内も) - pirokyunの日記
http://d.hatena.ne.jp/pirokyun/20080118/1200631677


■getFileList($dir_path)
ファイル名を再帰的に取得する関数 - handlename::blog
http://d.hatena.ne.jp/handlename/20101006/1286355256


■sharzaqオリジナル
・glob3(http://sharzaqslab.blogspot.com/2011/12/url.html
・cmd_find(http://sharzaqslab.blogspot.com/2011/12/url2.html


比較の結果は次の記事で!

0 件のコメント:

コメントを投稿

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

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