PHP学习笔记之php文件操作


Posted in PHP onJune 03, 2016

一、fstat函数:显示文件的所有信息

$file_path = "test.php";
if($fp=fopen($file_path,"a+")){
  $file_info=fstat($fp);
  echo "<pre>";
  print_r($file_info);
  echo "</pre>";
  echo "文件大小为".$file_info['size'];
  echo "文件上次访问时间".date("Y-m-d H:i:s",$file_info['mtime']);
}
fclose($fp);  //一定要关闭

二、文件读取:

//第一种:
$con = fread($fp,filesize($file_path));
$con = str_replace("\r\n","<br>",$con);
echo "文件内容是".$con;
//第二种:将文件一下全部读取
$con = file_get_contents($file_path);
$con = str_replace("\r\n","<br>",$con);
echo "文件内容是".$con;
//第三种:一段一段读取
$buffer = 1024; 
//为了下载的安全,最好使用文件字节读取计数器
$file_count = 0;
//feof用于判断文件是否读取到文档尾
while(!feof($fp) && ($file_size-$file_count>0)){
$file_data = fread($fp,$buffer);
//统计读了多少个字节
$file_count+$buffer;
echo $file_data;  
}

三、写入文件:

//1、传统方法写入文件
  $file_path = "test.txt";
  if(file_exists($file_path)){
    $fp = fopen($file_path,"a+");
    //打开方式:a+是追加内容。w+是覆盖原来的。
    $con = "Hello!\r\n";
    fwrite($fp,$con);
    echo "添加成功!";
  }else{
    echo "文件不存在";
  }
  fclose($fp);
  //2、第二种方法写入文件
  $file_path= "test.txt";
  $con = "北京你好!\r\n";
  file_put_contents($file_path,$con,FILE_APPEND);
  echo "成功";

四、文件操作的应用:

//可以操作ini文件。将服务器的配置写在ini文件中,再对其进行操作。
  dbc.ini
  host=192.168.0.1
  admin=admin
  password=123456  
demo.php
  <?php
    $con = parse_ini_file("dbc.ini");
    print_r($con);  
    ?> 
//将ini文件中的数据以数组形式读出,可以对其进行操作。

  五、拷贝文件:

if(!copy("E:\\test.txt","D:\\1.txt")){
  echo "fail";
}else{
  echo "success";
}

  六、创建文件

创建文件夹:

//$path = "E:\\happy"; //文件夹路径
$path = "E:\\happy\aaa\bbb"; //多级文件夹
if(!is_dir($path)){
  if(mkdir($path,0777,true)){
    echo "success";
  }else{
    echo "fail";
  }
}else{
  echo "文件夹已存在";
}

创建文件:

$file_path = "E:\\happy.txt";
$fp = fopen($file_path,"w+");
fwrite($fp,"hello");
fclose($fp);

七、删除文件:

删除文件夹:

$path = "E:\\happy\aaa\bbb"; //多级文件夹
if(rmdir($path)){
  echo "success";
}
//rmdir只能删除空文件夹,文件夹下有文件或目录均不能删除。

    删除文件:

$file_path = "E:\\happy.txt";
if(is_file($file_path)){
  if(unlink($file_path)){
    echo "success";
  }else{
    echo "fail";
  }
}else{
  echo "文件不存在";
}

以上所述是小编给大家介绍的php文件操作的相关知识,希望对大家有所帮助。

PHP 相关文章推荐
菜鸟学PHP之Smarty入门
Jan 04 PHP
探讨:如何使用PhpDocumentor生成文档
Jun 25 PHP
使用gd库实现php服务端图片裁剪和生成缩略图功能分享
Dec 25 PHP
PHP中比较两个字符串找出第一个不同字符位置例子
Apr 08 PHP
php中的curl_multi系列函数使用例子
Jul 29 PHP
Linux下PHP安装mcrypt扩展模块笔记
Sep 10 PHP
php判断两个日期之间相差多少个月份的方法
Jun 18 PHP
分享五个PHP7性能优化提升技巧
Dec 07 PHP
微信公众号模板消息群发php代码示例
Dec 29 PHP
php redis实现文章发布系统(用户投票系统)
Mar 04 PHP
php中青蛙跳台阶的问题解决方法
Oct 14 PHP
Laravel手动返回错误码示例
Oct 22 PHP
ThinkPHP3.2.3实现分页的方法详解
Jun 03 #PHP
php for 循环使用的简单实例
Jun 02 #PHP
Yii多表联合查询操作详解
Jun 02 #PHP
既简单又安全的PHP验证码 附调用方法
Jun 02 #PHP
yii2分页之实现跳转到具体某页的实例代码
Jun 02 #PHP
[原创]php实现子字符串位置相互对调互换的方法
Jun 02 #PHP
PHP处理数组和XML之间的互相转换
Jun 02 #PHP
You might like
基于laravel制作APP接口(API)
2016/03/15 PHP
PHP基于ICU扩展intl快速实现汉字转拼音及按拼音首字母分组排序的方法
2017/05/03 PHP
PHP实现15位身份证号转18位的方法分析
2019/10/16 PHP
js去空格技巧分别去字符串前后、左右空格
2013/10/21 Javascript
Jquery ajax执行顺序 返回自定义错误信息(实例讲解)
2013/11/06 Javascript
ExtJS如何设置与获取radio控件的选取状态
2014/01/22 Javascript
JS+html5制作简单音乐播放器
2020/09/13 Javascript
详解Angular-cli生成组件修改css成less或sass的实例
2017/07/27 Javascript
使用js获取伪元素的content实例
2017/10/24 Javascript
vue+vue-validator 表单验证功能的实现代码
2017/11/13 Javascript
vue获取dom元素注意事项
2017/12/28 Javascript
js中this对象用法分析
2018/01/05 Javascript
JS实现的Object数组去重功能示例【数组成员为Object对象】
2019/02/01 Javascript
vue实现可视化可拖放的自定义表单的示例代码
2019/03/20 Javascript
vue里如何主动销毁keep-alive缓存的组件
2019/03/21 Javascript
[00:43]拉比克至宝魔导师密钥展示
2018/12/20 DOTA
Python内置数据类型详解
2014/08/18 Python
python的tkinter布局之简单的聊天窗口实现方法
2014/09/03 Python
python机器学习库常用汇总
2017/11/15 Python
Python迭代器与生成器基本用法分析
2018/07/26 Python
Pytorch 多维数组运算过程的索引处理方式
2019/12/27 Python
Python本地及虚拟解释器配置过程解析
2020/10/13 Python
很酷的小工具和电子产品商城:GearBest
2016/11/19 全球购物
美国顶级奢侈茶:Mighty Leaf Tea(美泰茶)
2016/11/26 全球购物
Cotton On香港网站:澳洲时装连锁品牌
2018/11/01 全球购物
eHarmony英国:全球领先的认真恋爱约会平台之一
2020/11/16 全球购物
说一下Linux下有关用户和组管理的命令
2014/08/18 面试题
3D空间设计学生找工作的自我评价
2013/10/28 职场文书
年度献血先进个人事迹材料
2014/02/14 职场文书
毕业自我鉴定总结
2014/03/24 职场文书
企业理念标语
2014/06/09 职场文书
2014年医院个人工作总结
2014/12/09 职场文书
MYSQL 表的全面总结
2021/11/11 MySQL
Python matplotlib可视化之绘制韦恩图
2022/02/24 Python
Ubuntu安装Mysql+启用远程连接的完整过程
2022/06/21 Servers
CSS子盒子水平和垂直居中的五种方法
2022/07/23 HTML / CSS