自由にダウンロードして使用することができます。 しかし、著作権に関する注意書きは削除しないでください。詳細は PHP ライセンス を確認ください。
はい。ただし、このドキュメントを読んでも答えが見つからない場合に限ります。 また、サポートをするためにはある程度の情報 (使用しているプラットフォームが Window か *nix か Mac か、 PHP のバージョン、インストールしている PEAR パッケージなど) が必要です。場合によってはあなたの書いたスクリプトそのものも必要かもしれません。
PEAR のバグトラッカーで報告してください。
PEAR ( PHP Extension and Application Repository の短縮形) は、再利用可能な PHP コンポーネントのフレームワーク、 そしてその配布システムのことです。
PEAR マニュアル と PEAR FAQ も忘れずに読んでください。
PHP5 用のコード (関数、定数、拡張モジュール) を無視させたい場合は、 (ファイル、ディレクトリ、文字列などの) パース時のオプション "ignore_versions" を指定します。この例では、 カレントディレクトリをパースする際に PHP 5.0.0 から PHP 5.2.0 までのコードを無視します。
<?php
require_once 'PHP/CompatInfo.php';
$dir = dirname(__FILE__);
$options = array('ignore_versions' => array('5.0.0', '5.2.0'));
$pci = new PHP_CompatInfo();
$res = $pci->parseDir($dir, $options);
var_dump($res);
?>
API 1.8.0 ではこのような挙動になりましたが、すべての出力イベントを Null レンダラに処理させることもできます。その場合は、 null 値 (大文字小文字は区別しません) をクラスコンストラクタの最初のパラメータとして指定します。
<?php
require_once 'PHP/CompatInfo.php';
$pci = new PHP_CompatInfo('null');
$res = $pci->parseData($datasource);
// 出力される結果は、次の行が生成するもののみです
var_dump($res);
?>
単一のファイルを処理する場合なら、 プログレスバーや処理中メッセージを表示する必要は特にありません。 しかし、多くのサブディレクトリやファイルが存在するディレクトリを処理する場合は、 それなりの時間がかかります。
実行中のインターフェイス (CLI あるいはウェブ) によって、 プログレスバーや処理中メッセージを表示する方法は 2 通りあります。
プログレスバーを表示するように指定したときに PEAR::Console_ProgressBar パッケージがインストールされていなければ、デフォルトのテキストメッセージを使用します (エラーにはなりません)。
Wait while parsing data source ... Wait while parsing file "C:\wamp\tmp\Services_W3C_CSSValidator-0.1.0\CSSValidator.php"
CLI で pci コマンドを使う場合
-p|--progress スイッチで
bar
(プログレスバー) あるいは text
(シンプルなテキストメッセージ) のいずれかを指定します。
pci --summarize --progress bar --dir C:\Temp\beehiveforum082\forum
CLI で pci コマンドを使わない場合
クラスのコンストラクタの 2 番目のパラメータ
(ドライバ固有のオプション) を使用します。
キー progress に
bar
(プログレスバー) あるいは
text
(シンプルなテキストメッセージ) を指定します。
また、サイレントモードを無効にすることも忘れないようにしましょう
(以前のバージョンとの互換性を保つため、デフォルトでは有効になっています)。
<?php
require_once 'PHP/CompatInfo.php';
$driverType = 'csv';
$driverOptions = array('silent' => false, 'progress' => 'bar');
$pci = new PHP_CompatInfo($driverType, $driverOptions);
?>
この出力は次のようになります。
- 79/419 files [====>-----------------] 18.85% Elapsed Time: 00:28.93
Web SAPI の場合 配布物の中の
examples ディレクトリに、
pci180_parsefolder_tohtml.php
という名前のサンプルがあります。このサンプルでは
PEAR::HTML_Progress2 パッケージを用いて COMET (AJAX ではありません)
によるプログレスバーを作成しています。