一.文件和目录

(1).解析目录路径:basename()返回路径的文件名部分
获取路径目录:dirname() 返回除了文件名的路径部分
了解关于路径的更多信息:pathinfo()   返回关联数组    pathinfo[dirname]    path[basename]   pathinfo[extension]
         最后一个是文件的扩展名
绝对路径:realpath()降path中所有符号链接和相对路径引用转换为相应的硬链接和绝对路径。
(2).计算文件,目录和磁盘大小
filesize(string filename)返回指定文件大小,以字节为单位
disk_free_space( string directory)返回指定的目录所在磁盘分区的可用空间    以字节为单位
disk_total_space(string directory)返回指定的目录所在磁盘分区的总容量   以字节为单位
linux的du命令获得一个文件或目录的磁盘使用情况,但是在php中处于安全原因   函数通常禁用。
实例:确定目录内容的大小用递归的方法
<?php
function directory_size($directory)
{
$directorySize=0;
if($dh=@opendir($directory)){//opendir()返回目录流
while(($filename=readdir($dh))){//readdir()返回目录中下一个文件的文件名。文件名以在文件系统中的排序返回。
if($filename!="."&&$filename!="..")
{
if(if_file($directior."/".$filename))
$directorySize+=filesize($directory."/".$filename);
if(is_dir($directory."/".$filename))
$directorySize+=directory_size($directory."/".$filename);//递归调用自身
}} }
@closedir($dh);
return $directorySize;
}
$directory="/usr/book/chapter10/";
$totalSize=round((directory_size($directory)/1048576),2);
printf("Directory %s:%f MB",$directory:".$totalSize");
?>
(3)确定访问和修改时间
确定文件的最后访问时间
fileatime(string  filename)返回文件的最后访问时间   采用unix时间戳的格式,错误时返回false
filectime(string filename)  返回文件的最后改变时间,采用unix时间戳格式
最后改变时间不同于最后修改时间,最后改变时间指的是文件inode数据的任何改变,包括改变权限,所有者,组成其他inode特定的信息,而最后修改时间指对文件内容的修改。
filemtime()返回文件的最后修改时间,
 
 
二.文件处理

换行符\n   表示文件中一行的末尾   ,处理换行符的功能,包括file() fgetcsv() h和fgets()

识别文件末尾字符eof
feof()验证是否到达了文件的末尾
int feof(string resource)
(1)fopen(string resource,string mode[,int use_include_path[,resource zeontext]])   打开文件  仅提供输出的数据流    不能操作文件
文件模式  r  r+ w w+  a  a+  b  t
如果资源位于本地文件系统,php则认为可以使用本地路径或相对路径来访问此资源。或者,可以将fopn()的use_include_path参数设置为1,考虑配置指令include_path中指定的路径。
实例  $fh=fopen("/usr/local/apache/data/users.txt","rt");
    $fh=fopen("summary.html","w",1);
(2)boolean fclose(resource filehandle)关闭文件   filehandle必须是使用fopen()或者fsockopen()打开的已经存在的文件指针。
(3)
1.array file(atring filename[int use_include_path[,resouce context]])从文件中读取数据的方法,不仅可以一次只读取一个字符,还可以一次读取整个文件。读取文件
将文件读入数组 各个元素由换行符分隔,同时换行符仍附加在每个元素的末尾。
2.将文件内容读入字符串变量    file_get_contents()函数将文件中的内容读到字符串中
string file_get_contents(string filename[,int use_include_path[resource context]])
3.将csv文件读入数组
array fgetcsv(resource handle[,int length[,string delimiter[,string enclosure]]])
解析标记为csv的文件中的 每一行。遇到换行时读取不会停止,而会在读取了length个字符后停止。
delimiter默认设置为逗号,用于界定每个字段的字符。可选参数enclosure默认设置为双引号,标识用来把字段值围起来的字符,这在不同的上下文中也有助于付给delimiter的值可以出现在字段值里。
实例:<?php
$fh=fopen("/home/www/data/subscribers.csv","r")
while(list($name,$email,$phone)=fgetcsv($fh,1024,","))
{
printf("<p>%s(%s) Tel.%s</p>",$name,$email,$phone);
}
?>
4.读取指定数目的字符
string fgets(resource handle[,int length])
如果忽略length   则假设为1024个字符    ,在读取到1024个字符前遇到换行符
<?php
$fh=fopen("/home/www/data/users.txt","rt");
while(!feof($fh))  echo fgets($fh);
fclose($fh);
?>
5.从输入中剔除标记
string fgetss(resource handle,int length[,string allowable_tags])
与fgets类似,只是将从输入中清除所有html和php标记  如果要忽略某些标记,就将其包括在allowable_tags
参数中。
 
6.以一次读取一个字符的方式读取文件
string fgets(resource handle)
7.忽略换行符

php处理文件和操作系统的更多相关文章

  1. NSIS:使用WinVer.nsh头文件判断操作系统版本

    原文 NSIS:使用WinVer.nsh头文件判断操作系统版本 AtLeastWin<version> 检测是否高于指定版本 IsWin<version> 检测指定版本(唯一限 ...

  2. NSIS使用WinVer.nsh头文件判断操作系统版本

    NSIS使用WinVer.nsh头文件判断操作系统版本,首先请下载最新的WinVer.nsh: http://nsis.sourceforge.net/Include/WinVer.nsh(下载后置于 ...

  3. 从操作系统rm数据文件后,利用句柄与rman恢复的过程。(已验证)

    以下操作代码的流程是配的,但是相应的文件名,啥的   必须改动. 故障现象 数据文件被误删除 具体情况 接到反馈说,数据文件data20120512.dbf被误删除,需要恢复 数据库提示 ERROR ...

  4. dll文件32位64位检测工具以及Windows文件夹SysWow64的坑

    自从操作系统升级到64位以后,就要不断的需要面对32位.64位的问题.相信有很多人并不是很清楚32位程序与64位程序的区别,以及Program Files (x86),Program Files的区别 ...

  5. <Oracle Database>诊断文件

    诊断文件 诊断文件是获取有关数据库活动的信息的一种方式,用于解决数据库出现的一些问题,主要包含有关数据库中出现的重要事件的一些信息,这些文件能更好的对数据库进行日常的管 理,主要类型有一下几种: 警告 ...

  6. ASP.net的文件扩展名

    尽管ASP.NET中采用的是事件响应模式,使程序开发人员和最终用户感觉与WinForm程序非常接近,但是它毕竟还是Web应用程序.而Web应用程序的特点,就是基于浏览器与服务器的请求与响应的执行方式. ...

  7. 如何使用命令行编译以及运行java文件

    要想编译和运行java文件,很简单,只需要两个命令: (1) javac:作用:编译java文件:使用方法: javac Hello.java ,如果不出错的话,在与Hello.java 同一目录下会 ...

  8. go文件操作大全

    参考Go官方库的文件操作分散在多个包中,比如os.ioutil包,我本来想写一篇总结性的Go文件操作的文章,却发现已经有人2015年已经写了一篇这样的文章,写的非常好,所以我翻译成了中文,强烈推荐你阅 ...

  9. Go文件操作

    UNIX 的一个基础设计就是"万物皆文件"(everything is a file).我们不必知道一个文件到底映射成什么,操作系统的设备驱动抽象成文件.操作系统为设备提供了文件格 ...

随机推荐

  1. mui轮播图

    轮播组件是mui提供的一个核心组件,在该核心组件基础上,衍生出了图片轮播.可拖动式图文表格.可拖动式选项卡.左右滑动9宫格等组件,这些组件有较多共同点.Dom构造: <div class=&qu ...

  2. WEB网页如何让背景图片跟随可视窗口自适应大小

    HTML代码 <body id="body"> <div class="info-wrapper"> <div class=&qu ...

  3. CoreData介绍

    http://blog.csdn.net/zh952016281/article/details/52105683 写在前面 在CoreData中有一些常用的类,称呼可能各不相同.所以这里先约定一些关 ...

  4. NBear简介与使用图解

    NBear简介与使用图解 框架类型:ORM映射框架 简介:NBear是一个基于.Net 2.0.C#2.0开放全部源代码的的软件开发框架类库.NBear的设计目标是尽最大努力减少开发人员的工作量,最大 ...

  5. WINDOWS-API:关于线程CreateThread,_beginthead(_beginthreadex),AfxBeginThread

    [转]windows多线程编程CreateThread,_beginthead(_beginthreadex)和AfxBeginThread的区别 在Windows的多线程编程中,创建线程的函数主要有 ...

  6. 如何使用动画库animate.css

    animate.css是一个CSS3动画库,里面预设了抖动(shake).闪烁(flash).弹跳(bounce).翻转(flip).旋转(rotateIn/rotateOut).淡入淡出(fadeI ...

  7. java基础—注解annotation

    一.认识注解 注解(Annotation)很重要,未来的开发模式都是基于注解的,JPA是基于注解的,Spring2.5以上都是基于注解的,Hibernate3.x以后也是基于注解的,现在的Struts ...

  8. NIOP 膜你题

    NOIp膜你题   Day1 duliu 出题人:ZAY    1.大美江湖(mzq.cpp/c) [题目背景] 细雪飘落长街,枫叶红透又一年不只为故友流连,其实我也恋长安听门外足音慢,依稀见旧时容颜 ...

  9. EWS code return Error : Request failed. The remote server returned an error: (403) Forbidden OR (401) Unauthorized

    Following is my code. ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1 ...

  10. 01_3_查询指定id的单个对象

    01_3_查询指定id的单个对象 1. 映射文件配置如下信息 <select id="selectStudentById" resultClass="Student ...