1

Java には、ファイルの親を参照したり、子ファイルをリストしたり、その他の便利な関数 (メソッド) を参照したりするために使用できる File オブジェクトがあります。これらのメソッドは File オブジェクトを返すことができるので、ファイルの文字列を処理する必要はありません。代わりに、オブジェクトを管理するだけです。これにより、物事がきちんと整頓され、私のタイプミスが起こりにくくなります。

PHP では、ディレクトリ文字列とファイル名文字列を連結してファイル文字列を取得しています。うまくいきますが、これは私にはギミックのように思えます。より良い方法があるかどうか知りたいです。組み込みのJavaファイルオブジェクトに相当するPHPはありますか?

ディレクトリ内のすべてのファイルを読み取り、その内容を行ごとに出力するコードは次のとおりです。

$reportDir = realpath(RESOURCE_PATH . "/userFiles/uploadedReports");
if ($dirHandle = opendir($reportDir)) {
    while (false !== ($entry = readdir($dirHandle))) {
        if ($entry != "." && $entry != ".."){
            $fileString = $reportDir . "/" . $entry;
            $fileHandle = fopen($fileString, "r");
            while (!feof($fileHandle) ) {
               $line = fgets($fileHandle);
               echo $line . "<br />";
            }
            fclose($fileHandle);
            $i++;
        }
    }
    closedir($dirHandle);
}

このコードで何を達成しようとしているのかを正確に知りたい場合は、タブ区切りファイルのデータを含む HTML テーブルをユーザーに表示します。

4

1 に答える 1

3

はい、ファイルの内容を処理するためのメソッドを持つ SPL クラスが呼び出されます...基本的なファイル情報 (mtime、パス、ファイル名など) のためのメソッドを持つSplFileObject親もあります。ディレクトリ/ファイル ツリーなどの構造の反復を処理するための一連のイテレータSplFileInfoもあります。

于 2013-02-19T18:26:21.787 に答える