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 相关文章推荐
珊瑚虫IP库浅析
Feb 15 PHP
使用eAccelerator加密PHP程序
Oct 03 PHP
php下通过curl抓取yahoo boss 搜索结果的实现代码
Jun 10 PHP
解析coreseek for sphinx的使用
Jun 21 PHP
自己写的兼容低于PHP 5.5版本的array_column()函数
Oct 24 PHP
PHP解析目录路径的3个函数总结
Nov 18 PHP
PHP Yii框架之表单验证规则大全
Nov 16 PHP
php生成唯一数字id的方法汇总
Nov 18 PHP
thinkphp3.x中cookie方法的用法分析
May 19 PHP
Smarty实现页面静态化(生成HTML)的方法
May 23 PHP
PHP实现移除数组中为空或为某值元素的方法
Jan 07 PHP
thinkphp 字母函数详解T/I/N/D/M/A/R/U
Apr 03 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
基于PHP magic_quotes_gpc的使用方法详解
2013/06/24 PHP
smarty模板引擎之内建函数用法
2015/03/30 PHP
Yii2框架使用计划任务的方法
2016/05/25 PHP
[原创]smarty简单模板变量输出方法
2016/07/09 PHP
php通过header发送自定义数据方法
2018/01/18 PHP
jQuery表单验证插件formValidator(改进版)
2012/02/03 Javascript
js 连接数据库如何操作数据库中的数据
2012/11/23 Javascript
jqTransform美化表单
2015/10/10 Javascript
jQuery遮罩层实现方法实例详解(附遮罩层插件)
2015/12/08 Javascript
通过设置CSS中的position属性来固定层的位置
2015/12/14 Javascript
windows下vue-cli导入bootstrap样式
2017/04/25 Javascript
Vue 父子组件数据传递的四种方式( inheritAttrs + $attrs + $listeners)
2018/05/04 Javascript
vue-cli随机生成port源码的方法
2019/09/02 Javascript
jquery 遍历hash操作示例【基于ajax交互】
2019/10/12 jQuery
Python break语句详解
2014/03/11 Python
跟老齐学Python之画圈还不简单吗?
2014/09/20 Python
Python中的字符串类型基本知识学习教程
2016/02/04 Python
Pyhton中单行和多行注释的使用方法及规范
2016/10/11 Python
Python中logging.NullHandler 的使用教程
2018/11/29 Python
python删除文件夹下相同文件和无法打开的图片
2019/07/16 Python
python实现将中文日期转换为数字日期
2020/07/14 Python
html5 跨文档消息传输示例探讨
2013/04/01 HTML / CSS
欧洲顶级体育电子商务网站:SportsShoes.com
2018/03/27 全球购物
Carolina工作鞋官网:Carolina Footwear
2019/03/14 全球购物
三星俄罗斯授权在线商店:Samsung俄罗斯
2019/09/28 全球购物
SQL面试题
2013/12/09 面试题
医院后勤自我鉴定
2013/10/13 职场文书
移动通信专业自荐信范文
2013/11/12 职场文书
师范大学毕业自我鉴定
2013/11/21 职场文书
大学军训感言
2014/01/10 职场文书
社区优秀志愿者先进事迹
2014/05/09 职场文书
要账委托书范本
2014/09/15 职场文书
社区党员干部承诺书
2015/05/04 职场文书
小学生班干部竞选稿
2015/11/20 职场文书
redis通过6379端口无法连接服务器(redis-server.exe闪退)
2021/05/08 Redis
默认网关不可用修复后过一会又不好使了解决方法
2022/04/08 数码科技