PHP文件操作详解


Posted in PHP onDecember 30, 2016

本文实例为大家分享了PHP文件操作的具体代码,供大家参考,具体内容如下

(1)文件读取

file_get_contents( )

实例:

<?php 

// 文件部分 文件的读取

// 要求把a.txt的内容读取出来,赋值给str变量

/* file_get_contents()可以获取一个文件的内容或一个网络资源的内容

file_get_contents()是读取文件/读网络数据比较快捷的一个函数,帮我们封装了打开/关闭等操作

但是要小心,这个函数一次性把文件的内容读取出来,放内存里,因此工作中处理上百M的大文件,谨慎使用
*/

$file = 'a.txt';
$str = file_get_contents($file);
echo $str;

/*
$url = 'http://www.163.com/';
$str = file_get_contents($url);
file_put_contents('162.html', $str);
*/
// 读出来的内容,能否写入另一个文件里面
/*
file_put_contents() 这个函数用来把内容写入文件
也是一个快捷函数,帮我们封装打开写入关闭的细节

注:如果指定的文件不存在,则会自动创建
*/
file_put_contents('./b.txt', $str);


/*
最简单的爬网页程序
*/
$url = 'http://www.sina.com/';
$html = file_get_contents($url);

if (file_put_contents('sina.html', $html)) {
 echo "抓过来了";
}else{
 echo "抓错了";
}

(2)文件操作

fopen: 打开
fread : 读取
fwrite: 写入
fclose: 关闭

实例:

<?php

/*
 文件操作之
 fopen
 fread
 fwrite
 fclose
*/


/*
fopen() 打开一个文件,返回一个句柄资源
fopen($filename,mode);
第二个参数是‘模式',如只读模式,读写模式等
返回值:资源
*/

$file = './162.html';
$fh = fopen($file,'r');

// 沿着上面返回的$file这个资源通道来读文件
echo fread($fh,10),'<br />';

// 返回 int(0),说明没有成功写入
// 原因:在于第二个mode参数,选的r,即只读打开
var_dump(fwrite($fh, '测试一下,能不能用'));

// 关闭资源
fclose($fh);


/*
r+读写模式,并把指针指向文件头
写入成功
注:从文件头,写入时,覆盖相等字节的字符
*/
$fh = fopen($file, 'r+');
echo fwrite($fh, 'hello') ? 'success': 'fail','<br />';
fclose($fh);


/*
w:写入模式(fread读不了)
并把文件大小截为0
指针停于开头处
*/
echo '<br />';
$fh = fopen('./test.txt', 'w');
fclose($fh);
echo "ok!";

(3)文件是否存在、修改时间

filemtime

<?php

/*
判断文件是否存在
获取文件的创建时间/修改时间
*/ 

$file = './students.txt';
if (file_exists($file)) {
 echo $file,"存在 <br />";
 echo '上次修改时间是:',date('Y-m-d,H:i:s',filemtime($file));
}else{
 echo "不存在";
}

Demo地址 : Demo6-file操作

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
PHP 读取和修改大文件的某行内容的代码
Oct 30 PHP
pdo中使用参数化查询sql
Aug 11 PHP
PHP数组实例总结与说明
Aug 23 PHP
php 获取本地IP代码
Jun 23 PHP
PHP错误Cannot use object of type stdClass as array in错误的解决办法
Jun 12 PHP
php跨服务器访问方法小结
May 12 PHP
thinkPHP中验证码的简单使用方法
Dec 26 PHP
浅析php设计模式之数据对象映射模式
Mar 03 PHP
Laravel框架中Blade模板的用法示例
Aug 30 PHP
PHP网页安全认证的实例详解
Sep 28 PHP
PHP完全二叉树定义与实现方法示例
Oct 09 PHP
浅谈laravel5.5 belongsToMany自身的正确用法
Oct 17 PHP
PHP实现二维数组根据key进行排序的方法
Dec 30 #PHP
CI框架实现框架前后端分离的方法详解
Dec 30 #PHP
php mysql实现mysql_select_db选择数据库
Dec 30 #PHP
phalcon model在插入或更新时会自动验证非空字段的解决办法
Dec 29 #PHP
微信公众号模板消息群发php代码示例
Dec 29 #PHP
PHP实现截取中文字符串不出现?号的解决方法
Dec 29 #PHP
详解thinkphp实现excel数据的导入导出(附完整案例)
Dec 29 #PHP
You might like
很好用的PHP数据库类
2009/05/27 PHP
elgg 获取文件图标地址的方法
2010/03/20 PHP
php对二维数组进行相关操作(排序、转换、去空白等)
2015/11/04 PHP
PHP+Ajax实现无刷新分页实例详解(附demo源码下载)
2016/04/07 PHP
PHP生成zip压缩包的常用方法示例
2019/08/22 PHP
使javascript也能包含文件
2006/10/26 Javascript
javascript Prototype 对象扩展
2009/05/15 Javascript
jQuery DIV弹出效果实现代码
2009/07/03 Javascript
BootStrap使用file-input插件上传图片的方法
2016/09/05 Javascript
微信小程序开发探究
2016/12/27 Javascript
详解angular中通过$location获取路径(参数)的写法
2017/03/21 Javascript
jQuery选取所有复选框被选中的值并用Ajax异步提交数据的实例
2017/08/04 jQuery
vue router demo详解
2017/10/13 Javascript
Js经典案例的实例代码
2018/05/10 Javascript
Vue异步组件处理路由组件加载状态的解决方案
2018/09/07 Javascript
解决vue项目中页面调用数据 在数据加载完毕之前出现undefined问题
2019/11/14 Javascript
Vue发布订阅模式实现过程图解
2020/04/30 Javascript
JavaScript中展开运算符及应用的实例代码
2021/01/14 Javascript
[01:01]青春无憾,一战成名——DOTA2全国高校联赛开启
2018/02/25 DOTA
[51:44]2018DOTA2亚洲邀请赛 4.3 突围赛 Optic vs iG 第二场
2018/04/04 DOTA
[44:30]完美世界DOTA2联赛PWL S2 GXR vs Magma 第一场 11.25
2020/11/26 DOTA
Python输出汉字字库及将文字转换为图片的方法
2016/06/04 Python
Python实现的朴素贝叶斯分类器示例
2018/01/06 Python
python多进程(加入进程池)操作常见案例
2019/10/21 Python
Python StringIO及BytesIO包使用方法解析
2020/06/15 Python
css3中背景尺寸background-size详解
2014/09/02 HTML / CSS
字中字效果的实现【html5实例】
2016/05/03 HTML / CSS
J2EE系统只能是基于web
2015/09/08 面试题
机械个人求职信范文
2014/01/24 职场文书
《蚕姑娘》教学反思
2014/04/15 职场文书
三年级小学生评语
2014/04/22 职场文书
中学生学习保证书
2015/02/26 职场文书
2016创先争优活动党员公开承诺书
2016/03/24 职场文书
MySQL5.7并行复制原理及实现
2021/06/03 MySQL
mysql5.7的安装及Navicate长久免费使用的实现过程
2021/11/17 MySQL
将MySQL的表数据全量导入clichhouse库中
2022/03/21 MySQL