SPL 文件对象继承自 SplFileInfo, 实现了 RecursiveIterator, SeekableIterator 接口。
一般我们访问文件方式:
$filename = '/path/ to/file';
$fp = fopen($filename, 'r');
if ($fp) {
while (!feof($fp)) {
$text = fgets($fp);
echo $text;
}
fclose($fp);
}
利用 SplFileObject 我们可以这么写:
$filename = '/path/ to/file';
$file = new SplFileObject($filename);
$file->openFile();
foreach ($file as $line) {
echo $line;
}
因为 SplFileObject 实现了RecursiveIterator 迭代器接口, foreach 可以很方便的访问到它。
写文件:
$filename = '/path/to/file';
$file = new SplFileObject($filename);
$file->openFile('w');
$file->fwrite('some text');
继承自 SplFileInfo 的一些方法:
echo '修改时间:', $file->getMTime(), "\n";
echo '所在路径:', $file->getPath(), "\n";
echo '文件名:', $file->getFilename(), "\n";
echo '全路径(路径+文件名):', $file->getPathname(), "\n";
更多方法请参考 Spl 文档
没有评论:
发表评论