当前位置: 首页 > article >正文

PHP文本操作+文件夹遍历+递归文件夹操作

1、什么是文件操作磁盘上用户能看到的逻辑数据结构文件夹和文件对文件的增删改查2、为什么要有文件操作当程序需要为某些特定操作进行文件夹或者文件处理的时候都会应用到文件操作。文件上传的时候创建目录下载文件的时候读取内容日志分析的时候读取内容文件夹操作、文件夹不属于php本身php要去操作文件夹通过资源的形式进行操作。1、建立连接。获取文件资源。opendir(路径)打开一个路径资源将路径内部的所有数据读入到内存2、获取文件夹资源里面的文件文件名readdir(路径资源)从文件夹资源中读取当前资源指针所指向的文件的名字指针会向下移动一位3、释放资源closedir(资源)释放对应的文件资源遍历文件夹将文件夹资源内部的所有文件给遍历出来。利用readdir能够读取元素并且下移指针的过程配合如果指针移出资源返回的是false来进行循环遍历。结果集指针回位rewinddir(资源)函数遍历文件夹scandir(路径)读取一个路径内部的所有文件名返回一个数组数组的每一个元素都是文件名。文件夹操作相关函数file_exists判断一个文件是否存在文件是广义路径和文件is_dir判断一个指定路径是否存在文件夹is_file判断一个指定路径是否是文件文件mkdir创建一个路径如果路径存在就会报错rmdir移除文件夹注意文件夹的删除只能删除空文件夹不能删除有文件的文件夹.和..除外getcwd获取当前工作路径chdir改变当前工作路径作业将文件上传做成按月日时分分类管理思路判断当前年月日时分秒这样的路径是否存在不存在创建存在将将文件放进去。遍历所有文件及其子目录遍历一个文件夹内的所有文件的同时如果其文件是目录那么也需要遍历出来。1.定义一个函数获取当前指定目录下面的所有文件2.先取出当前文件夹内的所有文件3.将取出的文件数组遍历输出4.修改判断逻辑所有的文件的判断都必须配合路径。5.如果文件结果是文件夹说明有子文件重新遍历获取里面的所有内容以上解决方案只能变量两层文件夹如果有多层就没有办法全部遍历处理。规律要解决的问题获取一个文件夹内的所有文件夹和文件子问题获取一个文件夹内的所有的文件夹和文件内存分析在函数内部调用函数自己实现文件夹及其字目录遍历递归1.什么是递归递归就是函数在自己内部调用函数。2.递归两个点a)递归点如果在函数内部去解决一个问题的时候发现把问题减小之后子问题与父问题函数要解决的问题一致只是规模变小这个时候就应该采用父问题的解决方案去解决子问题递归点。文件夹遍历的递归点遍历到子文件夹的时候子文件夹与外层的符文件件本质上没有区别递归点。b)递归出口当递归发生后函数内部调用了函数自己之后函数不应该无限的调用自己应该在某个点结束自己。结束点称之为递归出口文件夹遍历的递归出口读到的文件是文件不是路径递归出口是一个文件夹内没有子文件夹或者子文件夹都被遍历完。作业1.实现递归遍历文件夹及其子目录输出2.递归遍历文件夹及其子目录通过数组保存保存的数据能够被区分出是文件还是文件夹还能确定层级无限级分类静态变量二维数组文件名层级是否是目录文件操作对文件里面的对文件里面的内容内容进行读写PHP5文件操作将文件的内容整个进行读取和写入读取文件file_get_contents从一个指定的文件内读取数据内容。写入内容file_put_contents将指定的字符串写入到对应的文件注意file_put_contents如果要写入的文件不存在系统会自动创建有的话就直接写入默认的file_put_contents写入数据的时候会先清空数据再写入如果要在文件后面追加内容应该使用file_put_contents的第三个参数FILE_USE_INCLUDE_PATH先清空文件再重新写入默认的FILE_APPEND追加数据到文件末尾file操作file就是将一个文件里面的内容逐行取出存放到一个数组的元素里返回一个数组PHP4文件操作php5以前文件的操作与文件夹一样都是通过资源的形式进行操作1.获取文件资源fopen打开一个文件资源如果是通过资源形式去操作文件的话那么必须在打开文件的时候就指定操作模式。只读模式打开2.读取文件内容fgetcc代表character一次读取一个字符fgetss代表string代表可以读取多个字符取决于指定的读取长度或者是否碰到换行最多只能读取一行数据两个函数都是对当前资源指针进行操作读取之后都会将指针下移fread获取指定长度的数据直到文件结束遍历文件3.修改文件写fwrite向文件资源指针所在的位置写入数据写东西不会将当前位置已有的东西往后移而是会覆盖fputsfwrite别名没有办法在指定的中间位置去写入内容只能覆盖内容文件指针移动fseek将指针指定到对应的位置4.释放资源fclose使用对应的文件资源文件操作相关函数copy复制unlink删除文件rename重命名文件filemtimem代表modify文件最后被修改的时间filesize文件大小字节fileperms文件权限Linux下的八进制简单文件操作1.文件下载服务器的文件被下载到浏览器端所在的电脑。HTML的a标签实现下载a标签中如果出现了浏览器不能识别的文件的URL浏览器就会认为是文件附件形成文件下载php实现文件下载php需要修改一个http响应头http协议header(Content-type: application/octet-stream)服务器给浏览器的内容是二进制流式文件header(Content-Disposition: attachment; filenamefilename)告诉浏览器当前数据不需要解析是附件本地保存的时候建议使用的文件名字是filenamePHP实现下载的好处1.隐藏真实文件的路径防止别人攻击2.隐藏文件的真实内容作业1.做一个统计网站如果一个用户去请求对应的脚本文件记住当前用户的ip地址访问时间写入到对应的统计文件一个用户的一次访问占一行当用户访问的时候提示当前用户是第几次访问是第几个访客

相关文章:

PHP文本操作+文件夹遍历+递归文件夹操作

1、什么是文件操作?磁盘上用户能看到的逻辑数据结构(文件夹和文件)对文件的增删改查2、为什么要有文件操作? 当程序需要为某些特定操作进行文件夹或者文件处理的时候,都会应用到文件操作。 文件上传的时候创建目录&…...

工业肌肉:03 变频器到底改变了什么?为什么它能让电机“听话”

03 变频器到底改变了什么?为什么它能让电机“听话” 变频器不是控制电机,而是控制电机背后的“电磁节奏”。 上次把伺服舞王拆得七零八落,今天终于轮到咱们车间里最亲民的“大管家”——变频器了。工厂里风机、水泵、传送带、搅拌机……哪台大电机旁边没挂个铁箱子?别看它其…...

实战指南:Video DownloadHelper配套应用完整安装与配置方案

实战指南:Video DownloadHelper配套应用完整安装与配置方案 【免费下载链接】vdhcoapp Companion application for Video DownloadHelper browser add-on 项目地址: https://gitcode.com/gh_mirrors/vd/vdhcoapp Video DownloadHelper配套应用(Vd…...

深入解析Weibull分布的参数化与计算

在统计学和工程应用中,Weibull分布因其灵活性和广泛的应用而备受推崇。特别是在可靠性工程和寿命分析中,Weibull分布被用来描述设备的故障时间或产品的寿命。本文将通过一个实际的例子,深入探讨Weibull分布的参数化问题以及在计算中的一些常见误区。 Weibull分布的参数 We…...

设计模式原则,请针对具体代码说明

设计原则总结:结合支付模块代码的具体说明一、六大设计原则概览原则英文核心含义开闭原则Open-Closed Principle对扩展开放,对修改关闭里氏替换Liskov Substitution子类型必须能替换父类型接口隔离Interface Segregation接口应该小而专一单一职责Single …...

如何快速掌握AMD Ryzen调试技巧:SMUDebugTool的完整使用指南

如何快速掌握AMD Ryzen调试技巧:SMUDebugTool的完整使用指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: http…...

NIUSHOP V6 多商户 B2B2C 商城系统介绍

多商户 B2B2C 商城系统是专为企业打造“平台多商户”协同运营的电商生态,支持平台自营第三方店铺入驻混合模式,覆盖实物电商、本地生活、O2O 全场景,支持多城市多商圈精细化运营,实现商品、订单、资金、数据全链路统一管理。 系统…...

ComfyUI极速上手指南:零基础搭建高效AI绘图工作流

1. ComfyUI初印象:为什么选择这个AI绘图神器 第一次接触ComfyUI时,我完全被它独特的节点式操作方式吸引了。与常见的WebUI不同,ComfyUI把整个AI绘图过程拆解成一个个可视化模块,就像搭积木一样自由组合。这种设计理念让创作过程变…...

开关电源EMI降噪实战:AC/DC和DC/DC滤波电路设计避坑指南

开关电源EMI降噪实战:AC/DC和DC/DC滤波电路设计避坑指南 在工业自动化设备和医疗电子系统中,开关电源的电磁干扰(EMI)问题常常成为产品通过认证的"拦路虎"。一位资深电源工程师曾分享过他的经历:某型医疗监…...

【电子通识】为什么PCB能短接还要用0Ω电阻?0欧电阻怎么做降额?

简介 市面上有一种电阻叫0Ω电阻,又称跨接电阻,是一种标称阻值为0的特殊电阻。有没有想过,用PCB直接就可以实现短接变成0Ω的功能,那为什么还需要焊接一个0Ω电阻呢? 0Ω电阻是一种特殊用途的电阻,与常规贴…...

前端+AI项目学习笔记day8

二十、分页效果实现二十一、知识文章新增弹窗编写ArticleDialog.vue组件<template><el-dialogtitle"文章详情"v-model"dialogVisible"width"50%"close"handleClose"><el-form :model"formData" :rules"…...

实测DeepSeek-OCR-WEBUI:中文识别精准,复杂背景也能搞定

实测DeepSeek-OCR-WEBUI&#xff1a;中文识别精准&#xff0c;复杂背景也能搞定 1. 从“看不清”到“读得懂”的跨越 你有没有遇到过这样的场景&#xff1f;拍了一张会议白板的照片&#xff0c;上面的字迹有些潦草&#xff0c;背景还有各种投影仪的影子&#xff0c;想用手机上…...

Cosmos-Reason1-7B在复杂网络协议分析中的应用场景

Cosmos-Reason1-7B在复杂网络协议分析中的应用场景 网络工程师的日常&#xff0c;常常伴随着海量的数据包和复杂的协议交互。面对一个动辄几个G的抓包文件&#xff0c;如何快速定位一次握手失败的原因&#xff0c;或者解释某个应用为何响应缓慢&#xff0c;往往需要深厚的协议…...

深求·墨鉴在办公场景实战:快速整理会议纪要,手写笔记一键电子化

深求墨鉴在办公场景实战&#xff1a;快速整理会议纪要&#xff0c;手写笔记一键电子化 1. 办公文档数字化的痛点与解决方案 在日常办公中&#xff0c;我们经常面临这样的困扰&#xff1a;重要会议的手写笔记难以整理&#xff0c;白板讨论内容无法有效留存&#xff0c;纸质文档…...

超元力VR大空间:以技术为桥,解锁沉浸式体验新可能

当数字技术逐渐融入日常生活&#xff0c;人们对体验的需求不再局限于“观看”&#xff0c;而是渴望“参与”和“沉浸”。超元力VR大空间&#xff0c;打破了传统VR体验的局限&#xff0c;以成熟的技术支撑和多元的内容呈现&#xff0c;让人们在有限的物理场地中&#xff0c;感受…...

二叉树的右透视图

思路如下&#xff1a; 借助二叉树的层次遍历&#xff0c;用两个队列&#xff0c;一个队列存当前遍历的层&#xff0c;另一个队列存下一层。 当前队列是最后一个节点的时候&#xff0c;最后这个节点就是右透视图需要展示的节点。在遍历当前队列的时候&#xff0c;把下一层加入下…...

FID指标避坑指南:当你的生成模型分数突然飙升时该怎么办?

FID指标避坑指南&#xff1a;当生成模型分数异常飙升时的诊断与应对策略 1. 理解FID指标的本质与常见陷阱 FID&#xff08;Frchet Inception Distance&#xff09;作为生成对抗网络&#xff08;GAN&#xff09;和扩散模型&#xff08;Diffusion Models&#xff09;领域最广泛使…...

G-Helper终极指南:如何用轻量工具彻底替代Armoury Crate提升ROG笔记本性能

G-Helper终极指南&#xff1a;如何用轻量工具彻底替代Armoury Crate提升ROG笔记本性能 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, F…...

如何免费将网易云音乐NCM格式转换为MP3/FLAC:ncmdumpGUI完整指南

如何免费将网易云音乐NCM格式转换为MP3/FLAC&#xff1a;ncmdumpGUI完整指南 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换&#xff0c;Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾经下载了网易云音乐的NCM…...

WarcraftHelper:魔兽争霸3现代兼容性终极解决方案

WarcraftHelper&#xff1a;魔兽争霸3现代兼容性终极解决方案 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper WarcraftHelper是一款专为魔兽争霸3设计…...

Zotero插件市场:如何在Zotero 7+中一键发现和安装最佳插件?

Zotero插件市场&#xff1a;如何在Zotero 7中一键发现和安装最佳插件&#xff1f; 【免费下载链接】zotero-addons Zotero Add-on Market | Zotero插件市场 | Browsing, installing, and reviewing plugins within Zotero 项目地址: https://gitcode.com/gh_mirrors/zo/zoter…...

HeyGem数字人视频生成系统实战:制作新年祝福短视频批量模板

HeyGem数字人视频生成系统实战&#xff1a;制作新年祝福短视频批量模板 新年将至&#xff0c;无论是企业给客户送祝福&#xff0c;还是团队给员工发问候&#xff0c;制作一段温馨的新年祝福视频都是很有仪式感的事情。但问题来了&#xff1a;如果公司有几十位员工&#xff0c;…...

如何3分钟解锁网易云音乐NCM加密文件:ncmdumpGUI终极指南

如何3分钟解锁网易云音乐NCM加密文件&#xff1a;ncmdumpGUI终极指南 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换&#xff0c;Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾从网易云音乐下载了心爱的歌曲&a…...

小红书数据采集终极指南:高效Python爬虫实战技巧解析

小红书数据采集终极指南&#xff1a;高效Python爬虫实战技巧解析 【免费下载链接】xhs 基于小红书 Web 端进行的请求封装。https://reajason.github.io/xhs/ 项目地址: https://gitcode.com/gh_mirrors/xh/xhs 小红书作为中国领先的社交电商平台&#xff0c;汇聚了海量的…...

终极指南:如何用XUnity.AutoTranslator轻松玩转全球Unity游戏

终极指南&#xff1a;如何用XUnity.AutoTranslator轻松玩转全球Unity游戏 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 你是否曾因语言障碍而错过心仪的外语游戏&#xff1f;XUnity.AutoTranslator这款…...

LLM系列:1.python入门:5.列表型对象 (List)

列表型对象 (List) 一. 列表基础 1. 列表创建 list可以存储任意类型对象 (1).直接创建 lst [1, 2, 3, 4](2).列表推导式 ①.表推导式的语法结构基本形式&#xff1a; [表达式 for 变量 in 可迭代对象]带条件&#xff1a; [表达式 for 变量 in 可迭代对象 if 条件]例子&#xf…...

钰泰ETA9742 支持边充边放 移动电源充电集成芯片

各位好&#xff0c;今天给大家介绍一款在便携充放电领域应用很广泛的芯片 ——ETA9742。首先从核心定位来说&#xff0c;ETA9742 是一款开关式锂离子电池充电器&#xff0c;专门针对 4.2V 规格的锂电池设计&#xff0c;采用 ESOP8 封装&#xff0c;是电池充放电场景里的一体化解…...

欧盟CE认证的PED压力容器指令认证

欧盟 CE 认证的 PED 压力容器指令认证&#xff0c;全称是 Pressure Equipment Directive (PED) 2014/68/EU&#xff08;压力设备指令&#xff09;&#xff0c;是欧盟针对承压类设备的强制性安全认证&#xff0c;属于 CE 认证体系下的核心指令之一。简单说&#xff0c;它是进入欧…...

魔兽争霸3辅助工具:让你的经典游戏焕发新生

魔兽争霸3辅助工具&#xff1a;让你的经典游戏焕发新生 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 你是否还在为魔兽争霸3的画面限制而苦恼&#…...

Miniconda-Python3.10镜像使用指南:快速创建独立环境,避免依赖冲突

Miniconda-Python3.10镜像使用指南&#xff1a;快速创建独立环境&#xff0c;避免依赖冲突 1. 为什么需要Python环境管理 在日常开发中&#xff0c;我们经常会遇到这样的问题&#xff1a; 项目A需要Python 3.7和TensorFlow 1.15项目B需要Python 3.10和TensorFlow 2.8系统默认…...