<?php
header("Content-Type:text/html;charset=utf-8");
/**
文件操作函数
普通文件
file_get_contents(filename);//获取一个文件的内容或者一个网络资源的内容
file_put_contents(filename, data),把内容写到文件中,快捷函数,封装了打开关闭的细节
如果是比较大的文件,就需要其他方法了
fopen(filename, mode)(打开一个文件,返回一个句柄资源) mode指的是模式,有只读/写,读写之类,句柄是指文件指针/通道
fread(handle, length) 沿着fopen得到的handle资源通道进行读取
fwrite(handle, string) 写入数据
fclose(handle) 关闭资源
fopen()中,带有 + 说明有写入模式,没有 + 没有写入
r指文件指针指向文件头
w指文件指针指向文件头,文件不存在就创建,并且清空文件
a指文件指针指向文件末尾,文件不存在就创建
*/
/*
把a.txt的内容读出来,赋给一个字符串
*/
//file_get_contents() 是读写文件比较快捷的函数,
//但是,此函数是一次性吧文件的全部内容读出来,放到内存了,所以如果工作中要处理上百M的大文件时,一定要慎重使用
$file = 'a.txt';
echo file_get_contents($file);
$str = file_get_contents($file);
/*
往文件b.txt中写入内容
*/
file_put_contents('b.txt', $str);//如果没有b.txt的话,会自动创建
//获取其他网页的页面
$uil = 'http://onestopweb.iteye.com/blog/2340894';
$html = file_get_contents($uil);
if (file_put_contents('other.html', $html)) {
echo '<br>已获取到<br>' ;
}else{
echo '<br>没有获取到<br>';
}
/*
如果是比较大的文件,就需要其他方法了
文件操作有:
fopen(filename, mode)(打开一个文件,返回一个句柄资源) mode指的是模式,有只读/写,读写之类,句柄是指文件指针/通道
fread(handle, length) 沿着fopen得到的handle资源通道进行读取
fwrite(handle, string) 写入数据
fclose(handle) 关闭资源
*/
$file = 'other.html';
$fh = fopen($file, 'r');//fopen返回一个资源通道,供别人使用
echo fread($fh, 10);//读取10个字节
//因为fopen()的mode是r,为只读打开
var_dump(fwrite($fh, '我来了')); //int(0)
//关闭资源
fclose($fh);
//r+是读写模式,并把指针指向文件头,但是会覆盖之前的
$fh = fopen($file, 'r+');
echo fwrite($fh, 'nihao,wolaila...')?'成功':'失败';
echo '<hr />';
//w是写入方式(fread不能读取),文件指针指向文件并且把文件大小截为0,如果没有文件,则创造
$fh = fopen('./model.txt', 'w');//如果没有model.txt,就会创建一个,如果存在model.txt,就会把文件清空
fclose($fh);
echo "OK";
//a+模式或者a模式 追加模式写入 或者 追加读写模式,指针指向末尾,如果没有文件,创造一个
$fh = fopen('./mode.txt', 'a+'); //如果没有文件,就会创造一个
fwrite($fh, 'sawadika');
fclose($fh);
效果图: