目录操作

$base_dir  = 'filelist/';
$fso = opendir($base_dir);//打开目录,返回目录句柄
echo 'Basedir:'.$base_dir.'<hr />';
while($filelist = readdir($fso))
{echo $filelist.'<br />';
}
closedir($fs);//关闭目录句柄

可以使用dirname($path)和basename($path)来分别返回路径的目录部分和文件名部分,可以用disk_free_space($path)返回空间的剩余大小。

创建命令:

mkdir($path,0777):0777是权限码,在非Windows下可用umask()来设置

rmdir($path):删除路径$path下的文件

新建文件

首先,要确定所创建文件所在目录的权限,建议设置为777,新建文件的名称建议使用绝对路径

$filename = 'test.txt';
$fp = fopen($filename, 'w+');//打开文件指针,创建文件
if(!is_writable($filename))
{die('文件:'.$filename.'不可写,请检查!');
}
fclose($fp);//关闭指针


读取文件

首先判断文件能否读取(权限问题),然后判断文件是否存在

$filename = 'test.txt';
if(is_readable($filename) == false)
{die('文件不存在或无法读取');
}if(file_exists($filename) == false)
{die('文件不存在');
}$content = file_get_contents($filename);echo htmlentities($data);


写文件

$filename = 'test.txt';
if(is_writeable($filename) == false)
{die('不能写入');
}$content = 'Hello World';file_put_contents($filename, $content);

file_put_contents()是在PHP5中新引进的函数,低版本的PHP无法使用,可以使用以下方式:

$filename = 'test.txt';
$data = 'Hello World';
$handle = fopen($filename, 'w');
fwrite($handle, $data);
fclose($handle);


写入文件的时候有时候需要锁定,然后写

function cache_page($pageurl, $pagedata)
{if(!$fso = fopen($pageurl, 'w')){$this->warns('无法打开缓存文件');return false;}//LOCK_NB,排他型锁定if(!flock($fsom, LOCK_EX)){$this->warns('无法锁定缓存文件');return false;}//写入字节流,serizlize写入其他格式if(!fwrite($fso, $pagedata)){$this->warns('无法写入缓存文件');return false;}//释放锁定flock($fso, LOCK_UN);fclose($fso);return true;
}

删除文件

$file = 'test.txt';
$result = @unlink($file);

复制文件

$file = 'test.txt';
$newfile = 'new.txt';//这个文件父文件夹必须可写
if(file_exists($file) == false)
{die('文件不存在');
}$result = copy($file, $newfile);if($result == false)
{echo 'Done';
}


获取文件属性

$file = 'test.txt';//获取最近修改时间
echo date('r', filemtime($file));//获取上次被访问时间
echo date('r', fileatime($file));//返回文件所有者
echo posix_getpwuid(fileowner($file));//获取文件权限,非Win
echo substr(sprintf('$o', fileperms($file), -4));//返回文件大小
echo filesize($file).'bytes';//返回文件的全部信息
var_dump(stat($file));


PHP文件和目录操作相关推荐

  1. python操作目录_详解python中的文件与目录操作

    详解python中的文件与目录操作 一 获得当前路径 1.代码1 >>>import os >>>print('Current directory is ',os. ...

  2. python创建文件os_Python之文件与目录操作(os、zipfile、tarfile、shutil)

    Python中可以用于对文件和目录进行操作的内置模块包括: 模块/函数名称功能描述 open()函数 文件读取或写入 os.path模块 文件路径操作 os模块 文件和目录简单操作 zipfile模块 ...

  3. Shell命令-文件及目录操作之mkdir、mv

    文件及目录操作 - mkdir.mv 1.mkdir:创建目录 mkdir命令的功能说明 mkdir命令用于创建目录,默认情况下,要创建的目录已存在,会提示文件存在,不会继续创建目录. mkdir命令 ...

  4. linux文件目录操作实验报告,Linux操作系统实验4文件和目录操作

    <Linux操作系统>课程实验报告 实验4 文件和目录操作 一.实验目的 1.理解Linux文件系统的结构和目录组织方式: 2.掌握Linux常用目录和文件命令的使用. 二.实验内容与要求 ...

  5. 史上最完整的文件和目录操作类

    [文件操作类]史上最完整的文件和目录操作类 <a target=_blank href="http://bbs.cskin.net/thread-114-1-1.html"& ...

  6. Shell命令-文件及目录操作之chattr、lsattr

    文件及目录操作 - chattr.lsattr 1. chattr:改变文件属性 chattr命令的功能说明 chattr命令用于改变文件属性.这项指令可改变存放在ext2文件系统上的文件或目录属性, ...

  7. Java编程的逻辑 (59) - 文件和目录操作

    本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...

  8. Python 文件和目录操作总结

    Python文件和目录操作总结: 1. Python 中os模块基本命令 头文件 import os # 提供对操作系统进行调用的接口 os常用指令 1 os.getcwd() # 获取当前工作目录, ...

  9. pathon和python_Python文件和目录操作详解

    一.文件的打开和创建 1.打开 open(file,mode): >>>fo = open('test.txt', 'r') >>>fo.read() 'hello ...

  10. python显示目录中的文件_Python中的文件和目录操作实现

    Python中的文件和目录操作实现 对于文件和目录的处理,虽然可以通过操作系统命令来完成,但是Python语言为了便于开发人员以编程的方式处理相关工作,提供了许多处理文件和目录的内置函数.重要的是,这 ...

最新文章

  1. 【FFmpeg】解码时refcounted_frames标志的使用
  2. 每天学习flash一点(3) flash外部读取xml
  3. cownew开源-eclipse插件开发学习知识点笔记
  4. tipask二次开发总结_二次开发自我总结
  5. 【Android】ArcFaceDemo
  6. asp.net控件的Hyperlink控件
  7. android高德地图绘制多边形_利用Python的folium包绘制城市道路图
  8. SQL语句中查询数据
  9. 恭喜!公积金将按月提取!12月31日前,全面执行!
  10. 【背包问题】基于matlab禁忌搜索算法求解背包问题【含Matlab源码 373期】
  11. 各版本 DOTween 下载地址
  12. Python调用百度AI识别身份证
  13. Linux入门到精通
  14. java如何设置jlabel位置_Java Swing – JLabel位置
  15. 查询期刊是不是SCI或EI
  16. MyEclipse2014下载地址
  17. MySQL存储引擎概叙
  18. 【Unity3D】Unity3D技术栈
  19. Unity之几何着色器--草随风摇曳
  20. PHP mysql_connect连接失败

热门文章

  1. seaborn可视化displot绘制直方图(histogram)并通过axvline函数在直方图中添加中位数(median)竖线(自定义中位数竖线的线条形式)
  2. R语言stats包的setNames函数和data.table包的setnames函数为数据对象设置名称实战
  3. R构建SVM回归模型
  4. 机器学习常见的挑战有哪些?
  5. 什么是词向量?word2vec、Glove、FastText分别是什么?
  6. 在VC6.0中创建工程并输入源代码
  7. 广东深圳计算机学校排名2015年,2015年深圳小学综合排名 各区小学最新排名
  8. tensorflow model.compile() 示例
  9. 【音频处理】从时域和频域上分别改变音频的响度
  10. java读取本地文件下载_java 读取本地的json文件