php文件编程

本文内容

1.文件的写入写出
2.文件判断与删除
3.读取二进制文件

代码和说明

<?php
/**
 * @Description:文件编程
 * 0x01文件的写入写出
 *  文件的写入:file_put_contents( string $filename, mixed $data[, int $flags = 0[, resource $context]] ) : int
 *   file_get_contents( string $filename[, bool $use_include_path = false[, resource $context[, int $offset = -1[, int $maxlen]]]] ) : string
 * 说明:
 *      1.file_put_contents(string $filename)和依次调用 fopen(),fwrite() 以及 fclose() 功能一样。
 *      2.file_get_contents() 函数是用来将文件的内容读入到一个字符串中的首选方法。如果操作系统支持还会使用内存映射技术来增强性能。
 *      3.file_get_contents() 既可以读字符,也可以用来读取二进制
 *      4.每次写入文件都会清空文件内容重写,相当于mode:w
 *      5.\r是回车,将光标移到行首。\n是换行,使光标下移行
 *      6.对于换行每个操作系统都不太一样。windows采用:回车+换行CR/LF表示下一行,即\r\n。linux和unix采用:LF,即\n。macOS采用CR,即\r
 *      7.如果文件不存在,file_put_contents会创建一个新文件。file_get_contents会报warning类型的错误
 *
 *0x02 打开、操作文件
 * fopen( string $filename, string $mode[, bool $use_include_path = false[, resource $context]] ) : resource
 * fgets( resource $handle[, int $length] ) : string
 * fputs = fwrite( resource $handle, string $string[, int $length] ) : int
 * fclose( resource $handle) : bool
 * 说明:1.fopen 打开一个文件,返回一个文件指针。常用的mode:r:读,read;w:写 write;a:追加 append;
 *       2.fgets — 从文件指针中读取一行
 *       3.fputs是fwrite的别名。fwrite() 把 string 的内容写入文件指针 handle 处。
 *       4.fclose-将 handle 指向的文件关闭。
 *       5.进行写和追加时,如果文件不存在,会创建一个新文件,然后再进行下一步操作
 *       6.如果要读的文件不存在,会报warning类型的错误
 *
 * 0x03 文件判断与删除
 *  is_file( string $filename) : bool
 *  file_exists( string $filename) : bool
 *  unlink( string $filename[, resource $context] ) : bool
 * 说明:1、is_file — 判断给定文件名是否为一个正常的文件
 *       2、file_exists — 检查文件或目录是否存在
 *       3、删除 filename。和 Unix C 的 unlink() 函数相似。发生错误时会产生一个 E_WARNING 级别的错误。
 *
 * 0x04 读取二进制文件
 *  fread( resource $handle, int $length) : string
 *  filesize( string $filename) : int
 * 说明:1.filesize — 取得文件大小;返回文件大小的字节数,如果出错返回 FALSE 并生成一条 E_WARNING 级的错误。
 *       2.fread — 读取文件(可安全用于二进制文件);返回所读取的字符串, 或者在失败时返回 FALSE。
 *       3.fread() 从文件指针 handle 读取最多 length 个字节。该函数在遇上以下几种情况时停止读取文件:1.读取了 length 个字节;2.到达了文件末尾(EOF)
 *       3.file_get_contents()也可以读取二进制文件
 * 
 * @Author:baola
 * @Time:2020-07-07 09:56
 */
 
// 1.将字符串写入文件,采用file_put_contents
$str = "春眠不觉晓,\r\n处处闻啼鸟。夜来风雨声,\r\n花落知多少。\r\n";
file_put_contents('./file01',$str);

// 2.文件内容写入字符串,方式一
echo file_get_contents('./file001'); //将文件写入字符串并输出
//方式二:相当于echo file_get_contents('./file01');
readfile('./file01');

// 3.fopen,fputs,fgets
$fp = fopen('./file01','a'); //在文件末尾追加文件内容
fputs($fp,'春天真美丽');
$fp = fopen('./file01','r');//打开文件返回文件指针(文件地址)
while($line = fgets($fp)){
    echo $line,'<br>';
}
fclose($fp);

// 4.判断与删除文件
$path = './file01';
if(is_file($path)){
    if(is_dir($path)){
        rmdir($path);
    }elseif(is_file($path)){
        unlink($path);
    }
}

// 5.二进制读取文件内容,方式一:使用fread
$path = './cat.jpg';
$fp = fopen($path,'r');
header('content-type:image/jpeg');
echo fread($fp,filesize($path));
fclose($fp);

// 5.方式二:使用file_get_contents()读取二进制数据
$path = './cat.jpg';
echo file_get_contents($path);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值