热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

spl处理文件(文件详细信息、文件遍历、查询指定行、写入CSV文件)

<?php***文件操作*常用操作$filenewSplFileInfo(D:workspacexlyyspltest.txt);$file
php
/**
 * 文件操作
 */

//常用操作
$file = new SplFileInfo('D:/workspace/xlyy/spl/test.txt');
$file_info = array(
    'getATime'     => $file->getATime(),     //最后访问时间
    'getBasename'  => $file->getBasename(),  //获取文件名
    '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(),   //是否可写
);
echo '
';
print_r($file_info);
echo '
'; echo '
'; //遍历操作 try{ foreach (new SplFileObject('test.txt') as $line){//遍历出文件中的内容 echo $line; } }catch (Exception $e){ echo $e->getMessage(); } echo '
'; //查找指定的行 try{ $file = new SplFileObject('test.txt'); $file->seek(2); echo $file->current(); }catch (Exception $e){ echo $e->getMessage(); } //写入CSV文件 $list = array( array('aaaa','bbbbb','cccccc','ddddddddd'), array('123',456,789), array('aa','bb'), ); $file = new SplFileObject('file.csv','w'); foreach ($list as $fields){ $file->fputcsv($fields); }

 


推荐阅读
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • Todayatworksomeonetriedtoconvincemethat:今天在工作中有人试图说服我:{$obj->getTableInfo()}isfine ... [详细]
  • python3 nmap函数简介及使用方法
    本文介绍了python3 nmap函数的简介及使用方法,python-nmap是一个使用nmap进行端口扫描的python库,它可以生成nmap扫描报告,并帮助系统管理员进行自动化扫描任务和生成报告。同时,它也支持nmap脚本输出。文章详细介绍了python-nmap的几个py文件的功能和用途,包括__init__.py、nmap.py和test.py。__init__.py主要导入基本信息,nmap.py用于调用nmap的功能进行扫描,test.py用于测试是否可以利用nmap的扫描功能。 ... [详细]
  • 本文总结和分析了JDK核心源码(2)中lang包下的基础知识,包括常用的对象类型包和异常类型包。在对象类型包中,介绍了Object类、String类、StringBuilder类、StringBuffer类和基本元素的包装类。在异常类型包中,介绍了Throwable类、Error类型和Exception类型。这些基础知识对于理解和使用JDK核心源码具有重要意义。 ... [详细]
  • php缓存ri,浅析ThinkPHP缓存之快速缓存(F方法)和动态缓存(S方法)(日常整理)
    thinkPHP的F方法只能用于缓存简单数据类型,不支持有效期和缓存对象。S()缓存方法支持有效期,又称动态缓存方法。本文是小编日常整理有关thinkp ... [详细]
  • 本文介绍了在实现了System.Collections.Generic.IDictionary接口的泛型字典类中如何使用foreach循环来枚举字典中的键值对。同时还讨论了非泛型字典类和泛型字典类在foreach循环中使用的不同类型,以及使用KeyValuePair类型在foreach循环中枚举泛型字典类的优势。阅读本文可以帮助您更好地理解泛型字典类的使用和性能优化。 ... [详细]
  • Allegro总结:1.防焊层(SolderMask):又称绿油层,PCB非布线层,用于制成丝网印板,将不需要焊接的地方涂上防焊剂.在防焊层上预留的焊盘大小要比实际的焊盘大一些,其差值一般 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
author-avatar
_自己疼__374
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有