PHP文件操作详解

yipeiwu_com5年前PHP代码库

本文实例为大家分享了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操作

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【宜配屋www.yipeiwu.com】。

相关文章

php闭包中使用use声明变量的作用域实例分析

本文实例讲述了php闭包中使用use声明变量的作用域。分享给大家供大家参考,具体如下: <?php function getClosure($i) { $i =...

PHP 批量删除数据的方法分析

大家可以参考下面的这篇文章https://www.jb51.net/article/6488.htmSQL:$SQL="delete from `doing` where id in (...

PHP中in_array函数使用的问题与解决办法

先介绍一下需求背景: 发票方式: 0=捐赠(不要问我为什么,历史原因) 1=对中寄送 2=索取 3=电子发票 现在要对用户提交的数据进行检测: php;auto-links:fals...

php中ob_flush函数和flush函数用法分析

本文实例分析了php中ob_flush函数和flush函数用法。分享给大家供大家参考。具体如下: ob_flush()函数: 取出PHP buffering中的数据,放入server b...

PHP的范围解析操作符(::)的含义分析说明

今天看到几个有关PHP的符号。一个是@,这个加在一个变量的前面,是为了抑制PHP解释器报错,也就是说即使出了错也不会显示出来。 还有一个更重要的符号PHP的范围解析操作符(::) 在没有...