目录操作

$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. Intelij IDEA 2016.3安装mybatis插件并激活教程
  2. Segmentation and Paging
  3. Adob Flash Professional CS6发布Android手机应用报异常
  4. Coursera心理学课程考试小抄
  5. C++实现播放音频文件
  6. Xcode创建头文件
  7. 剪映怎么把无字幕的英文视频翻译成制作成中文字幕?(附教程+剪映字幕翻译工具免费下载)...
  8. 电脑分屏操作,提高工作和学习效率
  9. 支付宝当面付(统一收单线下交易预创建,二维码扫码支付)
  10. ZYNQ UltraScale MPSOC,使用PL端AXI_UART16550IP核,且在PS端控制下实现RS485通信-----轮询方式
  11. [Zer0pts2020]easy strcmp 分析与加法
  12. 腾讯云工商注册服务重磅上线!全场低至10元起
  13. upx壳的一些简单脱壳,望大牛勿喷。
  14. php DOS word在线预览,如何在 Zoho Docs 中在线预览文件
  15. js为什么设置为单线程,怎么实现多线程
  16. 运行结果是随机数——我帮你解决
  17. 银行使用计算机实现通存通兑是什么,银行柜台上办业务用的那种计算机是什么计算机?...
  18. 华为android能用几年,最强的国产安卓,一部华为手机能用多久?
  19. 机载雷达导论(第21~23章)
  20. WIFI中的DCA信道和EIRP功率

热门文章

  1. R语言ggplot2可视化使用facet_grid构建多个子图(facet、面图)并自定义每个子图(facet、面图)的文本实战
  2. R语言使用survminer包生存分析及可视化(ggsurvplot)实战详解:从数据集导入、生存对象生成、ggsurvplot可视化参数配置、设置、可视化对比
  3. R卡方独立性检验(Chi-Square Test of Independence)
  4. R语言回归模型协方差分析(Analysis of Covariance)
  5. 机器学习+优化问题的种类、如何优化、凸优化、非凸优化、对偶问题、KKT条件
  6. 常见的容错机制+failover+failback
  7. Keras构建前馈神经网络并使用callbacks输出acc以及loss曲线(训练接、验证集)及效果可视化
  8. R语言定量变量组间差异检验
  9. MMD_2b_NearestNeighborLearning
  10. java如何使实验箱蜂鸣器响_按键按一次蜂鸣器响一次的单片机程序