PHP SPL は、ファイル操作を処理するために SplFileInfo と SplFileObject という 2 つのクラスを提供します。
SplFileInfo はファイルの詳細を取得するために使用されます:
コードをコピーします コードは次のとおりです:
$file = new SplFileInfo('foo-bar.txt');
print_r(配列(
'getATime' => $file->getATime(), //最終アクセス時刻
'getBasename' => $file->getBasename(), // パスなしでベース名を取得します
;
'getCTime' => $file->getCTime(), // i ノード変更時刻を取得します
'getExtension' => $file->getExtension(), // ファイル拡張子
'getFilename' => $file->getFilename(), // ファイル名を取得します
;
'getGroup' => $file->getGroup(), // ファイルグループを取得します
'getInode' => $file->getInode(), // ファイルの i ノードを取得します
'getLinkTarget' => $file->getLinkTarget(), // ファイルリンク先のファイルを取得します
'getMTime' => $file->getMTime(), // 最終更新時刻を取得します
'getOwner' => $file->getOwner(), // ファイルの所有者
'getPath' => $file->getPath(), // ファイル名なしのファイルパス
;
'getPathInfo' =>$file->getPathInfo(), //上位パスのSplFileInfoオブジェクト
'getPathname' => $file->getPathname(), //フルパス
;
'getPerms' => $file->getPerms(), // ファイル権限
'getRealPath' => $file->getRealPath(), //絶対ファイルパス
;
'getSize' => $file->getSize(),//ファイルサイズ (バイト単位)
'getType' => $file->getType(),// ファイル タイプ ファイル ディレクトリ リンク
'isDir' => $file->isDir(), // ディレクトリですか
'isFile' => $file->isFile(), // ファイルですか
'isLink' => $file->isLink(), // ショートカットリンクですか
'isExecutable' => $file->isExecutable(), // 実行可能かどうか
'isReadable' => $file->isReadable(), // 読み取り可能かどうか
;
'isWritable' => $file->isWritable(), //書き込み可能かどうか
));
トラバース:
コードをコピーします コードは次のとおりです:
試してみてください{
foreach(new SplFileObject('foo-bar.txt') as $line) {
echo $line;
}
} catch (例外 $e) {
echo $e->getMessage();
}
指定された行を検索します:
コードをコピーします コードは次のとおりです:
試してみてください{
$file = new SplFileObject('foo-bar.txt');
$file->seek(2);
echo $file->current();
} catch (例外 $e) {
echo $e->getMessage();
}
CSVファイルに書き込む:
コードをコピーします コードは次のとおりです:
$list = 配列 (
array( 'aaa' , 'bbb' , 'ccc' , 'dddd' ),
配列('123', '456', '7891'),
array( '"aaa"' , '"bbb"' )
);
$file = 新しい SplFileObject ( 'file.csv' , 'w' );
foreach ( $list as $fields ) {
$file -> fputcsv ( $fields );
}