php 文件操作

目录

1.file_xxx

2.fopen 


1.file_xxx

文件读写的内容都是字符串数据格式

readfile();  //读取文件内容,并返回文件的长度

file_get_contents('文件路径'); //读取文件。支持本地文件和远程文件url

file_put_contents('文件路径', '内容');  //写入数据,保存文件

                                                          //没有文件会自动创建

                                                          //每次写入新数据都会清空原文件数据

 1)file_put_contents('文件路径', '内容');

<?php
header("Content-Type: text/html; charset=utf-8");$a = file_put_contents('1.txt','hello word');echo $a.'<br>';$b = file_put_contents('1.txt','this is a test');//覆盖原本的内容echo $b.'<br>';
?>

 2)使用readfile() 读取1.txt 文件,直接打印,不需要echo

<?php
header("Content-Type: text/html; charset=utf-8");$a = readfile('1.txt');
?>

 

 3)file_get_contents,读取文件内容,需要 echo 打印

<?php
header("Content-Type: text/html; charset=utf-8");$a = file_get_contents('1.txt');echo $a.'<br>';
?>

 

 也可以读取网页内容,直接请求https的网址会报错,休要修改配置,1.windows下的PHP,只需要到php.ini中把 extension=php_openssl.dll前面的;删掉,重启服务就可以了。2.linux下的PHP,就必须安装 openssl模块,安装好了以后就可以访问了。

<?php
header("Content-Type: text/html; charset=utf-8");//读取网页一张图片$b = file_get_contents('https://img-home.csdnimg.cn/images/20210114022819.png');//将读取的图片保存到 b.png 中file_put_contents('b.png',$b);?>

 

2.fopen 

模式说明
r
只读方式打开,将文件指针指向文件头。
r+
读写方式打开,将文件指针指向文件头。
w
写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建。
w+
读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建
a
写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建 ,称之为追加。
a+
读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之
x创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建 。 
x+创建并以读写方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建

使用fgets()读取文件内容的话,他会自己记录读取到哪一行了,如果总共要读取五行,在中间来个 fclose(),会导致后面的读取中断而出错 

<?php
header("Content-Type: text/html; charset=utf-8");$a = fopen('1.txt','r'); //只读打开//$b = fread($a, 10); //以字节长度读取文件;$b = fgets($a);//读取一行echo $b.'<br>';$b = fgets($a);//读取第二行echo $b.'<br>';$b = fgets($a);//读取第三行echo $b.'<br>';?>

 fwrite 写,

$a = fopen(1.txt, r+);
$b = fwrite($a,'you is');

fclose 关闭

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/422131.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

线程池--JAVA

虽然线程是轻量级进程&#xff0c;但是如果当创建和销毁的的频率非常之高&#xff0c;那么它也就会消耗很多的资源。 而线程池就是用来优化线程频繁创建和销毁的场景&#xff0c;减少线程创建、销毁的频率。 ExecutorService JAVA标准库为我们实现了线程池&#xff0c;Execu…

Rocky Linux 8.9 安装图解

风险告知 本人及本篇博文不为任何人及任何行为的任何风险承担责任&#xff0c;图解仅供参考&#xff0c;请悉知&#xff01;本次安装图解是在一个全新的演示环境下进行的&#xff0c;演示环境中没有任何有价值的数据&#xff0c;但这并不代表摆在你面前的环境也是如此。生产环境…

【JavaEE进阶】 Spring Boot⽇志

文章目录 &#x1f38b;关于日志&#x1f6a9;为什么要学习⽇志&#x1f6a9;⽇志的⽤途&#x1f6a9;日志的简单使用 &#x1f384;打印⽇志&#x1f6a9;程序中得到⽇志对象&#x1f6a9;使⽤⽇志对象打印⽇志 &#x1f38d;⽇志格式的说明&#x1f6a9;⽇志级别的作用&#…

八股文学习日常第一期(20240121)

零、前言 1、目的 帮助掌握面试题&#xff0c;就八股文相关内容展开进行学习和整理&#xff0c;也方便之后的复习和巩固。 2、八股文内容来源 ①https://blog.csdn.net/w20001118/article/details/125724647 一、具体内容分析 1、类的完整书写方式 1.1、类 [Access Mod…

【Linux对磁盘进行清理、重建、配置文件系统和挂载,进行系统存储管理调整存储结构】

Linux 调整存储结构 前言一、查看磁盘和分区列表二、创建 ext4 文件系统&#xff0c;即&#xff1a;格式化分区为ext4文件系统。1.使用命令 mkfs.ext4 (make file system)报错如下&#xff1a;解决办法1&#xff1a;&#xff08;经测试&#xff0c;不采用&#xff09;X解决办法…

vue3源码(一)搭建开发环境

Monorepo:是管理项目代码的一个方式&#xff0c;指在一个项目仓库(repo)中管理多个模块/包(package) vue3源码采用Monorepo管理项目 vue3项目架构 搭建Monorepo环境 1.全局安装pnpm npm install pnpm -g # 全局安装pnpm pnpm init -y # 初始化配置文件创建.npmrc文件&#x…

基于 Redis 实现高性能、低延迟的延时消息的方案演进

&#x1f389;欢迎来系统设计专栏&#xff1a;基于 Redis 实现高性能、低延迟的延时消息的方案演进 &#x1f4dc;其他专栏&#xff1a;java面试 数据结构 源码解读 故障分析 &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是小徐&#x1f947;☁️博客首页&#xff1…

C++--入门(命名空间缺省参数函数重载)

目录 0.前言 1. C关键字(C98) 2. 命名空间 3. C输入&输出 4. 缺省&#xff08;默认&#xff09;参数 5. 函数重载 6.C支持函数重载的原理--名字修饰(name Mangling) 0.前言 C语言是结构化和模块化的语言&#xff0c;适合处理较小规模的程序。对于复杂的问题&#xff0c…

I2C接口简介

一、简介 11I2C&#xff08;Inter&#xff0d;IntegratedCircuit&#xff09;总线是由PHILIPS公司开发的两线式串行通信总线&#xff0c;使用多主从架构&#xff0c;用于连接微控制器及其外围低速设备。是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形…

了解森林消防灭火泵:为何它是森林安全的关键

在森林火灾中&#xff0c;火势蔓延速度极快&#xff0c;一旦发生火灾&#xff0c;很难及时控制和扑灭。传统的灭火方法主要是利用水扑救&#xff0c;这种方法具有经济、简单、有效等优点。然而&#xff0c;在我国森林火灾中&#xff0c;水资源一直没有得到充分的利用。至今&…

【C++】string的基本使用二

我们接着上一篇的迭代器说起&#xff0c;迭代器不只有正向的&#xff0c;还有反向的&#xff0c;就是我们下边的这两个 它的迭代器类型也是不同的 rbegin就是末尾&#xff0c;rend就是开头&#xff0c;这样我们想遍历一个string对象的话就可以这样做 int main() {string s1(…

CC工具箱使用指南:【检查现状规划用地变化】

一、简介 在规划工作中&#xff0c;有一个普遍性的需求&#xff0c;就是需要检查规划前后在用地上究竟发生了哪些变化。 这一点很重要&#xff0c;不仅是要展示给别人看&#xff0c;自己也要十分注意。 规划方案完成后&#xff0c;一定要进行用地变化的检查&#xff0c;曾经…