PHP对文件的处理
PHP在服务器端文件的应用上,相关的范畴不仅仅在于用户与服务器资料库间的各种连接存取操作,也可以通过PHP内建的文件处理函数,来进行一般文件处理操作。
basename--返回路径中的文件名部分
语法格式:$path="/home/httpd/html/index.php";
$file=basename($path);//$fileissetto"index.php"
$file=basename($path,".php");//$fileissetto"index"
pathinfo():分析文件当前路径
语法格式:$path_parts=pathinfo("/www/htdocs/index.html");
echo$path_parts["dirname"]."n";/www/htdocs文件路径
echo$path_parts["basename"]."n";index.html文件与扩展名
echo$path_parts["extension"]."n";html文件格式
文件类型与相关信息
filesize():计算文件的大小(byte)
语法格式:$bytes=filesize(“a.txt”);
echo$bytesround($bytes/1024,2);
fileatime():文件最后一次访问时间(时间戳)
语法格式:echodate(“Y-m-dg:i:sa”,fileatime);
filectime():文件建立时间
语法格式:echodate(“Y-m-dg:i:sa”,filectime);
filemtime():文件最后一次更新时间
语法格式:echodate(“Y-m-dg:i:sa”,filemtime);
fileperms():文件属性以及权限10进制
语法格式:echosubstr(base_convert(fileperms(a.txt),10,8),3);
fileowner():文件所有者的uid(仅在Linux系统下有用)
语法格式:echofileowner(“a.txt”);
文件的操作
'r'只读方式打开,将文件指针指向文件头。
'r+'读写方式打开,将文件指针指向文件头。
'w'写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
'w+'读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
'a'写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
'a+'读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
'x'创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则fopen()调用失败并返回FALSE,并生成一条E_WARNING级别的错误信息。如果文件不存在则尝试创建之。这和给底层的open(2)系统调用指定O_EXCL|O_CREAT标记是等价的。此选项被PHP4.3.2以及以后的版本所支持,仅能用于本地文件。
'x+'创建并以读写方式打开,将文件指针指向文件头。如果文件已存在,则fopen()调用失败并返回FALSE,并生成一条E_WARNING级别的错误信息。如果文件不存在则尝试创建之。这和给底层的open(2)系统调用指定O_EXCL|O_CREAT标记是等价的。此选项被PHP4.3.2以及以后的版本所支持,仅能用于本地文件。
fopen()--打开文件或者URL
fclose()--关闭一个已打开的文件指针
fread()--读取文件内容
fwrite()--写入文件
语法格式:if(!$f=@fopen("file03.php","x")){//打开一个文件x方法写入
die("文件读取失败");//读取失败
}
fwrite($f,"kkkkkkkkkk");//向那个文件写写什么
echofread($f,10);//读取这个文件的内容
fclose($f);关闭打开文件
file()--把整个文件读入一个数组中
语法格式:$arr=file("file03.php");
print_r($arr);//读取文件返回数组
readfile()--读入一个文件并写入到输出缓冲。
语法格式:$str=readfile("file03.php");
echo$str;输出
一个文件记数器的写法:
$f=fopen("file03.php","r");
$i=fread($f,1000);
echo"这是您第{$i}次访问";
fclose($f);
$f=fopen("file03.php","w");
$i++;
fwrite($f,$i);
fclose($f);
````````````````````````````````````````
file_get_contents()–将整个文件读入一个字符串
语法格式:file_get_contents(文件名称或URL)
file_put_contents()–?将一个字符串写入文件,和依次调用fopen(),fwrite()以及fclose()功能一样
file_put_contents(文件名称,写入数据)
feof()--测试文件指针是否到了文件结束的位置
ftell()--返回文件指针读/写的位置
语法格式ftell(文件指针)
flock()--轻便的咨询文件锁定
语法格式:flock(文件指针,控制参数)
文件指针:是一个已经打开(fopen)的文件指针控制参数:
“LOCK_SH”表示要取得共享锁定(读取程序),(PHP4.0.1以前版本设置1)。
“LOCK_EX”表示要取得独占锁定(写入程序),(PHP4.0.1以前版本中设置为2)。
“LOCK_UN”表示要释放锁定(无论共享或独占),(PHP4.0.1以前版本中设置为3)。
“LOCK_NB”表示如果你不希望flock()在锁定时堵塞,则给控制参数再加上这个参数
fseek()--在文件指针中定位
语法结构:fseek(文件指针,移动字元数[,起始位置常数])
文件指针:不能用于在fopen()中以“http://”或“ftp://”格式打开所返回的文件指针。
移动字元数:为正数时,将文件指针向前移动指定个数:为负数时,将文件指针向后移动指定个数:
起始位置常数:
SEEK_CUR-设定位置为当前位置。
SEEK_SET-设定位置等于文件开头。(默认值)
SEEK_END-设定位置为文件尾。
rewind()--倒回文件指针的位置,也就是将文件指针移向文件的开头位置。
语法结构:rewind(文件指针)
注意:如果将文件以附加(“a”或者“a+”)模式打开,写入文件的任何数据总是会被附加在后面,不管文件指针的位置
chgrp()--改变文件所属的组
语法结构:chgrp(文件名称,群组名称)
filegroup()--取得文件的组
语法结构:filegroup(文件名称)
chmod()--改变文件模式
语法结构:chmod(文件名称,权限常数)755666
chown()--改变文件的所有者
语法结构:chown(文件名称,使用者)
fileowner()--取得文件的所有者
语法结构:fileowner(文件名称)
posix_getpwuid()来将其解析为用户名。
copy()--拷贝文件
语法结构:copy(来源文件,目的文件)
返回类型:bool型,如果成功则返回TRUE,失败则返回FALSE。
参数说明:将来源文件拷贝到目的文件。
unlink()--删除文件
语法结构:unlink(目标文件)
返回类型:bool型,如果成功则返回TRUE,失败则返回FALSE。
参数说明:删除指定的目标文件
rename()--重命名一个文件或目录
语法结构:rename(旧文件名,新文件名)
返回类型:bool型,如果成功则返回TRUE,失败则返回FALSE。
参数说明:尝试把旧文件名重命名为新文件名。
文件属性处理
file_exists()--检查文件或目录是否存在
语法结构:file_exists(文件名称)
返回类型:bool型,若存在返回true,否则返回false。
filesize()--取得文件大小
语法结构:filesize(文件名称)
返回类型:返回文件大小字节数,若出错返回false.
filetype()--取得文件类型
语法结构:filetype(文件名称)
返回类型:返回文件类型。可能的值有fifo,char,dir,block,link,file和unknown。出错则返回false
is_dir()--判断给定文件名是否是一个目录
语法结构:is_dir(名称)
返回类型:如果文件名存在并且是一个目录则返回true,否则返回false。
is_executable()--判断给定文件名是否可执行
语法结构:is_executable(名称)
返回类型:如果文件存在且可执行则返回TRUE,否则返回FALSE。
is_file()--判断给定文件名是否为一个正常的文件
语法结构:is_file(名称)
返回类型:如果文件存在且为正常的文件则返回TRUE。
is_link()--判断给定文件名是否为一个符号连接
语法结构:is_link(名称)
返回类型:如果文件存在并且是一个符号连接则返回true。
is_readable()--判断给定文件名是否可读
语法结构:is_readable(文件名称)
返回类型:如果文件存在并且可读则返回TRUE。
is_writable()--判断给定的文件名是否可写
语法结构:is_writable(文件名称)
返回类型:如果文件存在并且可写则返回TRUE。
实现iterator接口的目录读取
Iterator接口的标准方法
current():返回当前列表(list)中的元素值。
next():用于在一个列表中向下移动一个位置。
valid():检测在当前列表中是否还有下一个元素,如果有,返回true,否则返回false。
rewind():可以访问指定特征的元素列表,在开始操作iterator时,会将指针设置在顶部。
当前1/2页12下一页阅读全文