PHP中的文件系统处理(一)
PHP文件系统处理
所有文件处理都是使用系统函数完成的。
是基于Linux/Unix系统为模型
文件系统处理的作用:
1. 所有的项目离不开文件处理
2. 可以用文件长时间保存数据
3. 建立缓存, 服务器中文件操作
文件处理
1. 文件类型
以Linux为模型的, 在Windows只能获取file, dir或unknow 三种类型
在Linux/Unix下, block, char, dir, fifo, file, link, unknown和种型
block :块设置文件,磁盘分区,软驱, cd-rom等
char: 字符设备,I/O 以字符为单位, 键盘,打印机等
dir: 目录也是文件的一种
fifo:
file:
link:
unknown
filetype("目录或文件名") 取得文件类型
<?php
echo filetype("./test.txt");
?>
is_array();
is_int();
is_string();
is_null;
is_bool();
is_dir -- 判断给定文件名是否是一个目录
is_executable -- 判断给定文件名是否可执行
is_file -- 判断给定文件名是否为一个正常的文件
is_link -- 判断给定文件名是否为一个符号连接
is_readable -- 判断给定文件名是否可读
is_uploaded_file -- 判断文件是否是通过 HTTP POST 上传的
is_writable -- 判断给定的文件名是否可写
is_writeable -- is_writable() 的别名
<?php
//is_dir -- 判断给定文件名是否是一个目录
var_dump(is_dir("./test.txt"));
echo "<br>";
//is_executable -- 判断给定文件名是否可执行
var_dump(is_executable("./test.txt"));
echo "<br>";
//is_file -- 判断给定文件名是否为一个正常的文件
var_dump(is_file("./test.txt"));
echo "<br>";
//is_link -- 判断给定文件名是否为一个符号连接
var_dump(is_link("./test.txt"));
echo "<br>";
//is_readable -- 判断给定文件名是否可读
var_dump(is_readable("./test.txt"));
echo "<br>";
//is_uploaded_file -- 判断文件是否是通过 HTTP POST 上传的
var_dump(is_uploaded_file("./test.txt"));
echo "<br>";
//is_writable -- 判断给定的文件名是否可写
var_dump(is_writeable("./test.txt"));
echo "<br>";
//is_writeable -- is_writable() 的别名
?>
2. 文件的属性
file_exists(); 检查文件或目录是否存在
filesize();
is_readable();
is_writeable();
filectime();
filemtime();
fileatime();
stat();
<?php
/*
file_exists(); 检查文件或目录是否存在
filesize();
filectime();
filemtime();
fileactime();
stat();
*/
$filename="./test.txt";
//file_exists(); 检查文件或目录是否存在
var_dump(file_exists($filename));
echo "<br>";
//filesize(); 取得文件大小
echo filesize($filename);
echo "<br>";
//filectime(); 取得文件的 inode 修改时间
echo date("F d Y H:i:s.", filectime($filename));
echo "<br>";
//filemtime(); 取得文件修改时间
echo date("F d Y H:i:s.", filemtime($filename));
echo "<br>";
//fileatime(); 取得文件的上次访问时间
echo date("F d Y H:i:s.",fileatime($filename));
echo "<br>";
//stat(); 给出文件的信息
echo "<pre>";
print_r(stat($filename));
echo "</pre>";
echo "<br>";
?>
3.文件的属性
相对路径:(相对于当前目录的上级和下级目录)
. 当前目录
.. 上一级目录
路径分隔符:
在Linux/Unix使用“/”
在windows中使用“\”和“/”都可以
绝对路径:
/ 根路径
/images/imdex.php
这个根指的是操作系统的根或是存放网站的文档根目录
如果是在服务器中执行(通过PHP文件处理函数执行)路径,则“根”指的是操作视同的根
如果程序是下载的客户端,再访问服务器中的文件时,只有通过Apache访问,“根”指的是文档根目录。
basename(url); 返回路径中的文件名部分
dirname(url); 返回路径中的目录部分
pathinfo(url); 返回文件路径的信息
<?php $url1="./aaa/bbb/index.php"; $url2="../www/yy/login.rar"; $url3="C:/appserv/www/demo.html"; $url4="http://localhost/yyy/ww.gif"; //返回路径中的文件名部分 echo basename($url1)."<br>"; echo basename($url2)."<br>"; echo basename($url3)."<br>"; echo basename($url4)."<br>"; echo "<hr>"; //返回路径中的目录部分 echo dirname($url1)."<br>"; echo "<hr>"; //返回文件路径的信息 echo "<pre>"; print_r(pathinfo($url1)); echo "<pre>"; ?>
4.文件的操作相关的函数
创建文件 touch("文件名");
删除文件 unlink("文件路径");
移动文件 为文件重新命名 rename("当前文件路径","目标文件路径");
复制文件 copy("当前","目标");
<?php
//创建文件
touch ("./test.txt");
//删除文件
//unlink("D:/APMServ5.2.6/www/htdocs/php/3/1/test.txt");
//unlnk("test.txt");
//移动文件 为文件重新命名
//rename("./test.txt", "d:/test2.txt");
//复制文件,将前者复制到后者中
copy("test.txt", "d:/test4.txt")
?>
一定要有PHP执行这个文件的权限
和权限设置有关的函数(在Linux下)
chgrp----改变文件所属的组
chmod----改变文件模式
chown----改变文件的所有者
filegroup-----取得文件的组
fileowner-----取得文件的所有者
PHP中的文件系统处理(一)的更多相关文章
- 79 umount-卸除目前挂在Linux目录中的文件系统
Linux umount命令用于卸除文件系统. umount可卸除目前挂在Linux目录中的文件系统. 语法 umount [-ahnrvV][-t <文件系统类型>][文件系统] 参数: ...
- 在nodeJS中操作文件系统(二)
在nodeJS中操作文件系统(二) 1. 移动文件或目录 在fs模块中,可以使用rename方法移动文件或目录,使用方法如下: fs.rename(oldPath,newPath,call ...
- 在Node.js中操作文件系统(一)
在Node.js中操作文件系统 在Node.js中,使用fs模块来实现所有有关文件及目录的创建,写入及删除操作.在fs模块中,所有对文件及目录的操作都可以使用同步与异步这两种方法.比如在执行读文件操作 ...
- 【翻译自mos文章】在11gR2 rac环境中,文件系统使用率紧张,而且lsof显示有非常多oraagent_oracle.l10 (deleted)
在11gR2 rac环境中,文件系统使用率紧张.而且lsof显示有非常多oraagent_oracle.l10 (deleted) 參考原文: High Space Usage and "l ...
- 智能IC卡中的文件系统
1.文件系统是COS的重要模块之一,它负责组织.管理.维护IC卡内存储的所有数据. 文件系统的设计和实现既是COS系统中最灵活.最有个性的部分,也是对系统整体结构影响最大的模块之一. 2.在IC卡内, ...
- nodejs中的文件系统
. 目录 简介 nodejs中的文件系统模块 Promise版本的fs 文件描述符 fs.stat文件状态信息 fs的文件读写 fs的文件夹操作 path操作 简介 nodejs使用了异步IO来提升服 ...
- PHP中的文件系统函数(三)
总算来到我们最关心的部分了,也就是 f 相关函数的操作.基本上大部分的文件操作都是以今天学习的这些内容为基础的,话不多说,我们就一个一个的来学习学习吧. 文件读取 文件的读取其实非常简单,fopen( ...
- PHP中的文件系统函数(二)
这次我们来学习的是一些不是太常用,但却也非常有用的一些函数.它们中有些大家可能见过或者使用过,有一些可能就真的没什么印象了.它们都是 PHP 中文件系统相关操作函数的一部分.存在即合理,或许只是我们的 ...
- PHP中的文件系统函数(一)
从这篇文章开始,我们将学习一系列的 PHP 文件系统相关函数.其实这些函数中,有很多都是我们经常用到的,大家并不需要刻意地去记住它们,只要知道有这么个东西,在使用的时候记得来查文档就可以了. 文件路径 ...
随机推荐
- css -- 题目汇总
1.描述下浮动和它的工作原理.模块浮动,使其脱离文档流,并且生成一个块级框.(所以父级撑不开就得到了很好的解释) 2.清除浮动的方法有那些,分别适用于什么情形.clear , 父级元素overfl ...
- HTML5自学笔记[ 17 ]canvas绘图基础4
绘制图像: drawImage(oImg,x,y),oImg是一个Image对象,(x,y)为绘制起点,绘制的图像大小和源图大小一样. drawImage(oImg,x,y,w,h),后两个参数设置绘 ...
- HDFS使用0
创建上传文件的:
- nyoj------79拦截导弹
拦截导弹 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 某国为了防御敌国的导弹袭击,发展中一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到 ...
- vs2010 ctrl+F5闪退解决方法
设置项目的属性页中的“配置属性”->“链接器”->“系统”->“子系统”->“控制台”(即增加“/SUBSYSTEM:CONSOLE”链接选项)
- jQuery 2.0.3 源码分析 Deferrred概念
转载http://www.cnblogs.com/aaronjs/p/3348569.html JavaScript编程几乎总是伴随着异步操作,传统的异步操作会在操作完成之后,使用回调函数传回结果,而 ...
- ubuntu14.10服务器版安装xampp,配置域名端口访问
1.从xampp下载下了xampp-linux-1.7.3a.tar这个包,然后ftp到我的linux虚拟机中, 2.复制到opt下,(可以直接解压的)到opt下面,tar xvfz xampp-li ...
- CF 241E flights 最短路,重复迭代直到稳定 难度:3
http://codeforces.com/problemset/problem/241/E 首先检测哪些点会出现在从起点到终点的路上,可以用dfs或者迭代, 然后,对于所有的边,设f为边起点,t为边 ...
- HDU 1533 KM算法(权值最小的最佳匹配)
Going Home Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ...
- ActiveX 技术疑点 一
1.编写基于MFC Activex 使用 静态库 .lib , MFC 的使用 在静态库中使用MFC . 生成ocx 文件 注册失败.提示: ***还是一个可执行文件,没有为这个文件类型注册的注册帮助 ...