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合并数组array_merge函数运算符加号与的区别
Oct 31 PHP
彻底杜绝PHP的session cookie错误
Aug 09 PHP
php正则过滤html标签、空格、换行符的代码(附说明)
Oct 25 PHP
PHP图片自动裁切应付不同尺寸的显示
Oct 16 PHP
PHP获取二维数组中某一列的值集合
Dec 25 PHP
Smarty模板简单配置与使用方法示例
May 23 PHP
PHP微信API接口类
Aug 22 PHP
thinkphp分页实现效果
Oct 13 PHP
laravel unique验证、确认密码confirmed验证以及密码修改验证的方法
Oct 16 PHP
tp5.1 实现setInc字段自动加1
Oct 18 PHP
laravel-admin 实现在指定的相册下添加照片
Oct 21 PHP
PHP中echo与print区别点整理
Mar 09 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 编写的日历
2006/10/09 PHP
PHP中怎样防止SQL注入分析
2014/10/23 PHP
php+ajax实现带进度条的上传图片功能【附demo源码下载】
2016/09/14 PHP
[原创]站长必须要知道的javascript广告代码
2007/05/30 Javascript
权威JavaScript 中的内存泄露模式
2007/08/13 Javascript
Document 对象的常用方法
2009/07/31 Javascript
jquery异步循环获取功能实现代码
2010/09/19 Javascript
jquery弹出框的用法示例(一)
2013/08/26 Javascript
nodejs教程之环境安装及运行
2014/11/21 NodeJs
常用的Javascript设计模式小结
2015/12/09 Javascript
JavaScript中匿名函数的用法及优缺点详解
2016/06/01 Javascript
详解Node.js如何开发命令行工具
2016/08/14 Javascript
详解Javascript中prototype属性(推荐)
2016/09/03 Javascript
Javascript之面向对象--方法
2016/12/02 Javascript
Vue单页式应用(Hash模式下)实现微信分享的实例
2017/07/21 Javascript
微信小程序使用video组件播放视频功能示例【附源码下载】
2017/12/08 Javascript
JavaScript中Object值合并方法详解
2017/12/22 Javascript
Node.js调用fs.renameSync报错(Error: EXDEV, cross-device link not permitted)
2017/12/27 Javascript
Javascript类型判断相关例题及解析
2020/08/26 Javascript
JS中循环遍历数组的四种方式总结
2021/01/23 Javascript
[51:30]OG vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.26
2018/08/30 DOTA
python局域网ip扫描示例分享
2014/04/03 Python
浅析Python中将单词首字母大写的capitalize()方法
2015/05/18 Python
pandas中去除指定字符的实例
2018/05/18 Python
pandas筛选某列出现编码错误的解决方法
2018/11/07 Python
python提取包含关键字的整行数据方法
2018/12/11 Python
谈一谈基于python的面向对象编程基础
2019/05/21 Python
详解用Python为直方图绘制拟合曲线的两种方法
2019/08/21 Python
pytorch实现mnist分类的示例讲解
2020/01/10 Python
浅谈tensorflow 中tf.concat()的使用
2020/02/07 Python
Python如何操作office实现自动化及win32com.client的运用
2020/04/01 Python
python 安装库几种方法之cmd,anaconda,pycharm详解
2020/04/08 Python
python中如何打包用户自定义模块
2020/09/23 Python
2015小学音乐教师个人工作总结
2015/07/21 职场文书
JS监听Esc 键触发事键
2021/04/14 Javascript
python实现A*寻路算法
2021/06/13 Python