Home >php教程 >php手册 >PHP SPL标准库之文件操作

PHP SPL标准库之文件操作

WBOY
WBOYOriginal
2016-06-13 09:04:521273browse

PHP SPL标准库之文件操作

   这篇文章主要介绍了PHP SPL标准库之文件操作(SplFileInfo和SplFileObject)实例,本文讲解SplFileInfo用来获取文件详细信息、SplFileObject遍历、查找指定行、写入csv文件等内容,需要的朋友可以参考下

  PHP SPL中提供了SplFileInfo和SplFileObject两个类来处理文件操作。

  SplFileInfo用来获取文件详细信息:

   代码如下:

  $file = new SplFileInfo('foo-bar.txt');

  print_r(array(

  'getATime' => $file->getATime(), //最后访问时间

  'getBasename' => $file->getBasename(), //获取无路径的basename

  'getCTime' => $file->getCTime(), //获取inode修改时间

  'getExtension' => $file->getExtension(), //文件扩展名

  'getFilename' => $file->getFilename(), //获取文件名

  'getGroup' => $file->getGroup(), //获取文件组

  'getInode' => $file->getInode(), //获取文件inode

  '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(),//文件类型 file dir link

  'isDir' => $file->isDir(), //是否是目录

  'isFile' => $file->isFile(), //是否是文件

  'isLink' => $file->isLink(), //是否是快捷链接

  'isExecutable' => $file->isExecutable(), //是否可执行

  'isReadable' => $file->isReadable(), //是否可读

  'isWritable' => $file->isWritable(), //是否可写

  ));

  SplFileObject继承SplFileInfo并实现RecursiveIterator , SeekableIterator接口 ,用于对文件遍历、查找、操作

  遍历:

   代码如下:

  try {

  foreach(new SplFileObject('foo-bar.txt') as $line) {

  echo $line;

  }

  } catch (Exception $e) {

  echo $e->getMessage();

  }

  查找指定行:

     代码如下:

  try {

  $file = new SplFileObject('foo-bar.txt');

  $file->seek(2);

  echo $file->current();

  } catch (Exception $e) {

  echo $e->getMessage();

  }

  写入csv文件:

  代码如下:

  $list = array (

  array( 'aaa' , 'bbb' , 'ccc' , 'dddd' ),

  array( '123' , '456' , '7891' ),

  array( '"aaa"' , '"bbb"' )

  );

  $file = new SplFileObject ( 'file.csv' , 'w' );

  foreach ( $list as $fields ) {

  $file -> fputcsv ( $fields );

  }

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn