zoukankan      html  css  js  c++  java
  • PHP SPL 文件处理(SplFileInfo和SplFileObject)

    SplFileInfo用来获取文件详细信息、SplFileObject遍历、查找指定行、写入csv文件等内容

    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 );
    }
  • 相关阅读:
    2.Redis常用命令
    1.CentOS安装Redis
    PAT 1127 ZigZagging on a Tree(30分)
    单链表上的基本操作
    求一个序列中的主元素
    PAT 1018 Public Bike Management(30分)
    PAT 1013 Battle Over Cities
    《算法笔记》题目分类
    PAT 1030 Travel Plan(30分)
    CentOS 安装 NET Core SDK 
  • 原文地址:https://www.cnblogs.com/setevn/p/7592915.html
Copyright © 2011-2022 走看看