首页 / php开发 / PHP中文件的基本操作(二)

PHP中文件的基本操作(二)

2020-09-08 09:08 php开发 阅读 5300 来源

常用函数

函数名
意义
fopen($fileName, ‘w’)
打开一个文件
fwrite
写入文件
fread
读取文件
fclose
关闭句柄
feof
判断是否到文件结尾
file_put_contents
一次将所有数据写入到指定的文件中
file_get_contents
读取文件的内容
copy
复制
unlink
删除
rename
重命名
ftruncate
文件截取

打开、写入、关闭文件

//声明一个变量用来保存文件名
$fileName="data.txt";

//使用fopen()函数以只写的模式打开文件,如果不存在则创建它,打开失败则通过程序
$handle = fopen($fileName, 'w') or die('打开<b>'.$fileName.'</b>文件失败!!');

//循环10次写入10行数据到文件中
for($row=0; $row<10; $row++) {
    //写入文件
    fwrite($handle, $row.": www.whphp.com\n");
}

//关闭由fopen()打开的文件指针资源
fclose($handle);

第二种方法

//声明一个变量用来保存文件名
$file_name = "data.txt";

//声明一个变量用来保存被写入文件中的数据
$data = "共10行数据\n";

//使用循环形成10行数据
for ($row = 0; $row < 10; $row++) {
    //将10数据都存放到一个字符串变量中
    $data .= $row . ": www.whphp.com\n";
}

//一次将所有数据写入到指定的文件中
file_put_contents($file_name, $data);

读取文件内容

/*1. 从文件中读取指定字节数的内容存入到一个变量中*/
//将本地文件名保存在变量中
$filename = "data.txt";

//以只读的方式打开文件,返回文件资源
$handle = fopen($filename, "r") or die("文件打开失败");

//从文件中读取前100个字节
$contents = fread($handle, 100);

//关闭文件资源
fclose($handle);

//将从文件中读取的内容输出
echo $contents;
/*2. 从文件中读取全部内容存入到一个变量中,每次读取一部分,循环读取*/
//将二进制文件的文件名保存在变量中
$filename="c:\\files\\somepic.gif";

//以只读的方式打开文件,模式加了’b’
$handle = fopen ($filename, "rb") or die("文件打开失败");

//声明一个用于保存全部文件内容的字符串
$contents = "";

//循环读取文件中内容,使用feof()判断文件结尾
while (!feof($handle)) {
    //每次读取1024个字节
    $contents .= fread($handle, 1024);
}

//关闭文件资源
fclose($handle);

//将从文件中读取的全部内容输出
echo $contents;
/*3. 另一种从文件中读取全部内容的方法*/
//将本地文件名保存在变量中
$filename = "data.txt";

//以只读的方式打开文件,返回文件资源
$handle = fopen($filename, "r") or die("文件打开失败");

//使用filesize()函数获取文件长度,一起读出
$contents = fread($handle, filesize ($filename));

//关闭文件资源
fclose($handle);

//将从文件中读取的全部内容输出
echo $contents;
/*4. 依次行全部读出*/
echo file_get_contents("data.txt");
/* 读取每一行, 存入数组*/
$arr = file("data.txt");
/*读取文件并立即输出*/
readfile("data.txt");

文件的复制/删除/重命名/截取

//复制文件示例
if(copy('./file1.txt', '../data/file2.txt')) {
    echo "文件复制成功!";
}else{
    echo "文件复制失败!";
}

//删除文件示例
$filename="file1.txt";
if(file_exists($filename)){
    if(unlink($filename)) {
        echo "文件删除成功!";
    }else{
        echo "文件删除失败!";
    }
}else{
    echo "目标文件不存在";
}

//重命名文件示例
if(rename('./demo.php', './demo.html')) {
    echo "文件重命名成功!";
}else{
    echo "文件重命名失败";
}

//截取文件示例
$fp=fopen('./data.txt', "r+") or die('文件打开失败');
if(ftruncate($fp, 1024)) {
    echo "文件截取成功!";
}else{
    echo "文件截取失败!";
}


猜你喜欢