一.文件和目录

(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. SQL必知必会-笔记

    一.数据库/数据表 数据库(DATABASE):存储有组织的数据的容器; 数据库管理系统(DBMS):数据库软件.开发者通过 DBMS 操纵 DATABASE 表(TABLE):表是一种结构化的文件, ...

  2. 像音乐播放App一样移动背景

    如果你经常听歌,你会发现歌曲app的背景会随着音乐移动的,从左到右或者从上到下,这种动画虽然简单,但是这里有一个技巧.如果你还不明白这种动效看看下面的demo (更多详细请参考:https://git ...

  3. PLSQL Developer 12 保存登录的用户名和密码

    1. 登录 PLSQL Developer PLSQL Developer > Preferences 2. Preferences > Logon History > Defini ...

  4. AutoIt 脚本1

    一.新建的AU3 脚本进行编辑 选择Edit Script 如果是相运行脚本可以用Run Script 如果是想将脚本编译成.exe 可以用Compile Script 1)一个简单的AU3脚本 Ma ...

  5. WinForm 公共控件和属性

    Button  按钮 布局 AutoSize 内容超出部分是否扩展到适应尺寸大小 Location  位置坐标 Size   控件大小 行为 Enabled   控件是否启用 visible   控件 ...

  6. LeetCode Pascal's Triangle Pascal三角形

    题意:给一个数字,返回一个二维数组,包含一个三角形. 思路:n=0.1.2都是特例,特别处理.3行以上的的头尾都是1,其他都是依靠上一行的两个数.具体了解Pascal三角形原理. class Solu ...

  7. BZOJ 1396:识别子串 SA+树状数组+单调队列

    1396: 识别子串 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 381  Solved: 243[Submit][Status][Discuss] ...

  8. 5分钟部署一个Hello World Servlet到CloudFoundry

    首先从我的Github下载我写好的hello world Servlet到本地. 安装Maven,然后执行命令行mvn clean install,确保build成功,在项目根目录的target文件夹 ...

  9. (外挂破解)Cheat Engine(内存修改工具)V6.2中文版软件介绍

    Heat Engine是一款内存修改编辑工具,Cheat Engine允许你修改你的游戏,所以你将总是赢.它包括16进制编辑,反汇编程序,内存查找工具.与同类修改工具相比,它具有强大的反汇编功能,且自 ...

  10. Spark Job调优(Part 2)

    原文链接:https://wongxingjun.github.io/2016/05/11/Spark-Job%E8%B0%83%E4%BC%98-Part-2/ 这篇文章将会完成Part 1中留下的 ...