PHP快速入门11-文件操作,附写入文件、文件重命名等20个高频使用案例

news2024/11/25 7:22:45

文章目录

  • 前言
  • 一、文件操作介绍
  • 二、 20个文件操作的例子
    • 2.1 打开文件并写入数据
    • 2.2 读取文件中的一行数据
    • 2.3 读取文件中的一个字符
    • 2.4 读取整个文件内容
    • 2.5 向文件写入内容
    • 2.6 将整个文件读入一个数组中
    • 2.7 删除文件
    • 2.8 重命名文件
    • 2.9 复制文件
    • 2.10 判断是否为文件
    • 2.11 判断是否为目录
    • 2.12 读取目录下的文件列表
    • 2.13 创建目录
    • 2.14 删除目录
    • 2.15 更改当前目录
    • 2.16 返回绝对路径
    • 2.17 检查文件或目录是否存在
    • 2.18 将文件指针移动到文件开头
    • 2.19 将文件指针移动到文件结尾
    • 2.20 获取文件大小
  • 总结


前言

本文已收录于PHP全栈系列专栏:PHP快速入门与实战

在这里插入图片描述

一、文件操作介绍

在PHP中,文件操作是非常重要的一个知识点。它允许我们对服务器上的文件进行读取、写入、修改等操作。在PHP中,我们可以通过一系列的函数来完成这些任务。下面是一些常见的文件操作函数:

  1. fopen():打开文件
  2. fclose():关闭文件
  3. fwrite():写入数据到文件
  4. fread():从文件读取数据
  5. fgets():从文件读取一行数据
  6. fgetc():从文件读取一个字符
  7. file_get_contents():读取整个文件内容
  8. file_put_contents():向文件写入内容
  9. file():将整个文件读入一个数组中
  10. unlink():删除文件
  11. rename():重命名文件
  12. copy():复制文件
  13. is_file():判断是否为文件
  14. is_dir():判断是否为目录
  15. scandir():读取目录下的文件列表
  16. mkdir():创建目录
  17. rmdir():删除目录
  18. chdir():更改当前目录
  19. realpath():返回绝对路径
  20. file_exists():检查文件或目录是否存在

二、 20个文件操作的例子

2.1 打开文件并写入数据

$file = fopen("test.txt", "w");
fwrite($file, "Hello world!");
fclose($file);

2.2 读取文件中的一行数据

$file = fopen("test.txt", "r");
echo fgets($file);
fclose($file);

2.3 读取文件中的一个字符

$file = fopen("test.txt", "r");
echo fgetc($file);
fclose($file);

2.4 读取整个文件内容

$content = file_get_contents("test.txt");
echo $content;

2.5 向文件写入内容

file_put_contents("test.txt", "Hello world!");

2.6 将整个文件读入一个数组中

$lines = file("test.txt");
foreach ($lines as $line) {
    echo $line;
}

2.7 删除文件

unlink("test.txt");

2.8 重命名文件

rename("test.txt", "new_test.txt");

2.9 复制文件

copy("test.txt", "test_copy.txt");

2.10 判断是否为文件

if (is_file("test.txt")) {
    echo "It's a file.";
} else {
    echo "It's not a file.";
}

2.11 判断是否为目录

if (is_dir("test")) {
    echo "It's a directory.";
} else {
    echo "It's not a directory.";
}

2.12 读取目录下的文件列表

$files = scandir("test");
foreach ($files as $file) {
    echo $file . "<br>";
}

2.13 创建目录

mkdir("test");

2.14 删除目录

rmdir("test");

2.15 更改当前目录

chdir("test");

2.16 返回绝对路径

echo realpath("test.txt");

2.17 检查文件或目录是否存在

if (file_exists("test.txt")) {
    echo "It exists.";
} else {
    echo "It doesn't exist.";
}

2.18 将文件指针移动到文件开头

$file = fopen("test.txt", "r");
rewind($file);
fclose($file);

2.19 将文件指针移动到文件结尾

$file = fopen("test.txt", "r");
fseek($file, 0, SEEK_END);
fclose($file);

2.20 获取文件大小

$size = filesize("test.txt");
echo $size;

总结

以上就是关于本篇文章介绍的内容,文件操作,附写入文件、文件重命名等20个高频使用案例,后续更多内容将收录在专栏PHP快速入门与实战中,感谢大家支持。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【致敬未来的攻城狮计划】RA2E1环境搭建点亮发光二极管

开启攻城狮的成长之旅&#xff01;这是我参与的由 CSDN博客专家 架构师李肯和 瑞萨MCU &#xff08;瑞萨电子 (Renesas Electronics Corporation) &#xff09; 联合发起的「 致敬未来的攻城狮计划 」的第 2 天&#xff0c;点击查看活动计划详情 &#xff01; 开发环境搭建 开…

React styled-components(三)—— 高级特性

styled-components 高级特性样式继承嵌套设置主题样式继承 新建 Demo.js 文件&#xff1a; import React, { Component } from react import styled from styled-components;const CustomStyle styled.divp { color: red;} const ContextBox styled(CustomStyle)width:…

Tableau-创建环状图:使用2个饼图

步骤 1&#xff1a;创建饼图 在“标记”下面&#xff0c;选择“饼图”标记类型。将分类拖到颜色。将任务总数拖到角度。再拖动一次任务总数&#xff0c;放到标签。根据需要调整饼图大小。 步骤 2&#xff1a;切换到双轴图表 右键点击任意一个字段&#xff0c;创建-->计算…

3年功能测试无情被裁,3个月学习自动化测试重新开始........

前言 不知不觉在软件测试行业工作了3年之久&#xff0c;虽然说我是主做的功能测试&#xff0c;但是我也一直是兢兢业业的呀&#xff0c;不曾想去年7月份无情被辞的消息让我感到一阵沉重。我曾经一直坚信自己的技能和经验足以支撑我在这个领域的未来&#xff0c;但现实却告诉我&…

考研数据结构——表达式的转换用栈实现表达式的概述

一、用表达式实现中缀表达式转后缀表达式 把括号里的符号移到括号外 二、用栈实现中缀表达式转后缀表达式 1、遇到字母写下来 2、遇到符号加入栈中 3、遇到成对括号才出栈 4、当前读取运算符要小于等于栈顶运算符优先级则出栈 从左向右扫描 三、表达式方法实现中缀表达式转…

Shader Graph9-世界空间、物体空间、相机空间、切线空间

一、World Space世界空间 在下用的Blender软件&#xff0c;新建了一个平面&#xff0c;中间的黄色小圆点表示的世界空间的原点&#xff0c;在世界空间的物体的位置&#xff0c;都是相对于这个原点来说的&#xff0c;红色箭头表示x轴&#xff0c;绿色箭头表示y轴&#xff0c;蓝…

算法 二叉树2 || 层序遍历 226.翻转二叉树 101. 对称二叉树 104.二叉树的最大深度 111 二叉树的最小深度 222.完全二叉树的节点个数

102 二叉树的层序遍历 队列先进先出&#xff0c;符合一层一层遍历的逻辑&#xff0c;而用栈先进后出适合模拟深度优先遍历也就是递归的逻辑。 而这种层序遍历方式就是图论中的广度优先遍历&#xff0c;只不过我们应用在二叉树上。 迭代法&#xff1a; /*** Definition for …

springboot和vue写个小项目

遵循“约定优于配置”的原则&#xff0c;只需要很少的配置或使用默认的配置。 能够使用内嵌的Tomcat、Jetty服务器&#xff0c;不需要部署war文件。 提供定制化的启动器Starters,简化Maveni配置&#xff0c;开箱即用。 纯&#xff09;java配置&#xff0c;没有代码生成&#xf…

4月11日,每天30秒,昨夜今晨一览无余/我国首条“西氢东送”管道纳入国家规划/国际机构:中国经济蓬勃复苏,展现广阔投资

-> 昨天的世界(点击进入) <- http://mp.weixin.qq.com/s?__bizMzU4MzQ4Mzk0Nw&mid2247488724&idx1&snd19817d3c7fd9aeb521052090eb439e0&chksmfda90390cade8a864965c805b86acd253f5d74368ae8767b7f00b80d4af5bcc42feef7635641&scene21#wechat_redir…

Qt扫盲-Qt图表类综述

Qt支持图表类综述一、概述二、图表类型1. 折线图和柱状图2. 面积图和散点图3. 柱状图4. 饼图5. 盒须图6. 烛台图表7. 星座图图表三、坐标轴 Axes四、图例五、与图表交互1. 动态绘制数据2. 深入数据3. 缩放和滚动4. 鼠标悬停六、主题一、概述 Qt Charts支持创建时尚的、交互式的…

Jetpack Compose之对话框和进度条

概述 对话框和进度条其实并无多大联系&#xff0c;放在一起写是因为两者的内容都不多&#xff0c;所以凑到一起&#xff0c;对话框是我们平时开发使用得比较多的组件&#xff0c;像隐私授权&#xff0c;用户点击删除时给用户提示这是一个危险操作等&#xff0c;进度条的使用频…

一文吃透Elasticsearch

本文已经收录到Github仓库&#xff0c;该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点&#xff0c;欢迎star~ Github地址 如果访问不了Github&#xff0c…

【自制】我造了一台 钢 铁 侠 的 机 械 臂 !【硬核】

有人说:一个人从1岁活到80岁很平凡,但如果从80岁倒着活,那么一半以上的人都可能不凡。 生活没有捷径,我们踩过的坑都成为了生活的经验,这些经验越早知道,你要走的弯路就会越少。

当我跑步时在想什么

最近好几个人对我说&#xff1a;你瘦了。这是非常激励人心的反馈&#xff0c;验证了跑步是有效的。只要今天开始锻炼&#xff0c;最胖的时候就算过去了&#xff0c;余生都会越来越美。前几天佛山50km徒步&#xff0c;带小朋友走了一半。下午有运动会&#xff0c;就没有走完了。…

提高职场效率,原来可以这么简单

身为职场人&#xff0c;你是否也有过类似的经历 看上去忙的很&#xff0c;手头东西又杂又多&#xff0c;但是一天过去了&#xff0c;到点下班发现啥都没做好当领导布置任务时&#xff0c;常常做了A后就忘记B&#xff0c;任务零碎不会安排做一件事情总是容易拖延&#xff0c;导致…

ROS开发之如何使用RPLidar A1二维激光雷达?

文章目录0.引言1.创建工作空间2.获取rplidar_ros包并编译3.检查雷达端口4.启动launch显示雷达扫描结果0.引言 笔者研究课题涉及多传感器融合&#xff0c;除了前期对ROS工具的学习&#xff0c;还需要用雷达获取数据&#xff0c;进行点云处理。虽然激光雷达已经应用很广泛&#x…

快速构建目标检测coco格式数据集

目标检测coco格式数据集coco数据集快速构建总结coco数据集 首先搞清楚coco格式数据集的组成。在data数据下、分为train、val以及annotations三个文件夹。&#xff08;image是我未划分训练集和测试集的图像存储文件夹&#xff09; 1.train文件夹&#xff1a;用来存放作为训练的图…

一个PostgreSql cli的工具

GitHub - xuejiazhi/pgii: pgii is a PostgreSql cli tool. PostgreSql is developed in CMD or Golang and can be compiled for multiple platforms pgii 是一个PostgreSql cli的工具,对PostgreSql 在CMD或者,采用Golang进行开发,可以多平台下面编译使用&#xff1a; 跨平台…

C/C++|物联网开发入门+项目实战|嵌入式C语言高级|C语言常用关键字及运算符操作-学习笔记(8)

文章目录2-2: C语言常用关键字及运算符操作关键字参考&#xff1a; 麦子学院-嵌入式C语言高级2-2: C语言常用关键字及运算符操作 [重点] 掌握C语言的常用关键宇及其应用场景&#xff0c;使用技巧 关键字 编译器&#xff1a;预先定义了一定意义的字符串&#xff0c;32个。 s…

RHCE3

综合练习&#xff1a;请给openlab搭建web网站 ​ 网站需求&#xff1a; ​ 1.基于域名[www.openlab.com](http://www.openlab.com)可以访问网站内容为 welcome to openlab!!! ​ 2.给该公司创建三个子界面分别显示学生信息&#xff0c;教学资料和缴费网站&#xff0c;基于[www.…