PHP文件操作(二)写入文件,新建、删除目录、文件,拷贝文件

【PHP面试题】不断在文件 hello.txt 头部写入一行 "Hello World" 字符串,要求代码完整。 一、考点 1、文件读取/写入操作 1) 文件打开 fopen()函数:用来打开一个文件,打开时需要指定打开模式 打开模式: r : 只读方式打开,并且将文件指针指向文件的开头 r+ :读写方式打开,并且将文件指针指向文件的开头 w :写入方式打开,将文件指针指向文件的开头,且将文件的大小清空为0 w+ : 读写模式【如果文件不存在,会自动创建一个】 a : 追加的写入方式,会将文件的指针指向文... 阅读详情

10、fwrite — 写入文件(可安全用于二进制文件) 

$filePath = "1.txt";
//写入文件,如果文件不存在则尝试创建之。如果原文件有内容,会被清空。
$fp = fopen($filePath, "wb");
//写入文件,将内容追加到原文件内容的末尾。如果文件不存在则尝试创建之。
//$fp = fopen($filePath,"ab");
fwrite($fp, "\t\n欲穷千里目,\t\n更上一层楼!");
fclose($fp);

11、file_put_contents — 将一个字符串写入文件。和依次调用 fopen() , fwrite()  以及 fclose()  功能一样。循环写入内容时,不建议使用此方法!

(1)语法:int file_put_contents  ( string $filename  , mixed  $data  [, int $flags  = 0  [, resource $context  ]] )

(2)第二个参数data: 要写入的数据。类型可以是 string , array  或者是 stream  资源。
如果 data 指定为 stream 资源,这里 stream 中所保存的缓存数据将被写入到指定文件中,这种用法就相似于使用 stream_copy_to_stream()  函数。 
参数 data 可以是数组(但不能为多维数组),这就相当于 file_put_contents($filename, join('', $array))。

(3)第三个参数:flags 的值可以是 以下, 使用 OR (|) 运算符进行的组合。 

FILE_USE_INCLUDE_PATH   在 include 目录里搜索 filename。

FILE_APPEND   如果文件 filename 已经存在,追加数据而不是覆盖。 

LOCK_EX   在写入时获得一个独占锁。

$filePath = "2.txt";
$content = "\r\n咬定青山不放松,\r\n立根原在破岩中。\r\n千磨万击还坚劲,\r\n任尔东西南北风。";
//写入
file_put_contents($filePath,$content);
//追加
//file_put_contents($filePath,$content,FILE_APPEND);

12、mkdir — 新建目录 

(1)语法:bool mkdir  ( string $pathname  [, int $mode  = 0777  [, bool $recursive  = false  [, resource $context  ]]] )

(2)第二个参数mode:默认的 mode 是 0777,意味着最大可能的访问权。mode 在 Windows 下被忽略。

(3)第三个参数$recursive:是否建立多层目录。

header("Content-Type:text/html; charset=utf-8");

$newDir = "E:/newdir";
$newDirC = "E:/中文目录";
$encodeNewDirC = iconv("utf-8","gbk",$newDirC);	//转换字符编码

if(!is_dir($newDir) && mkdir($newDir)){
	echo "创建目录成功";
}else{
	echo "创建目录失败!";
}

//创建中文目录的处理方法,强烈建议不要使用中文
if(!is_dir($encodeNewDirC) && mkdir($encodeNewDirC)){
	echo "创建中文目录成功";
}else{
	echo "创建中文目录失败!";
}

//一次建立多层目录
$newNestDir = "E:/a/b/c";
$newNestDirC = "E:/中文a/中文b/c";
$encodeNestDirC = iconv("utf-8","gbk",$newNestDirC);	//转换字符编码
if(!is_dir($newNestDir)){
	if(mkdir($newNestDir,0777,true)){
		echo "创建目录成功";
	}else{
		echo "创建目录失败!";
	}
}else{
	echo "比文件夹已存在!";
}

//含有中文的处理,建立建议不要使用中文
if(!is_dir($encodeNestDirC)){
	if(mkdir($encodeNestDirC,0777,true)){
		echo "创建目录成功";
	}else{
		echo "创建目录失败!";
	}
}else{
	echo "比文件夹已存在!";
}

13、rmdir — 删除目录

(1)删除目录时, 该目录必须是空的,而且要有相应的权限。 失败时会产生一个 E_WARNING  级别的错误。 

(2)返回值:成功时返回 TRUE , 或者在失败时返回 FALSE 。

 

header("Content-Type:text/html; charset=utf-8");

$dir = "E:/newDir";
$dirC = "E:/中文目录";
$encodeDirC = iconv("utf-8","gbk",$dirC);	//转换字符编码,从UTF-8,转换为gbk
if(is_dir($dir)){
	if(rmdir($dir)){
		echo "删除成功!";
	}else{
		echo "删除失败!";
	}
}else{
	echo "目录不存在!请检查!";
}

if(is_dir($encodeDirC)){
	if(rmdir($encodeDirC)){
		echo "删除成功!";
	}else{
		echo "删除失败!";
	}
}else{
	echo "目录不存在!请检查!";
}

14、创建文件:写入文件内容时,如果文件不存在,会自动创建文件。

15、unlink -  删除文件

 header("Content-Type:text/html; charset=utf-8");

$file = "E:/new name.jpg";
$fileC = "E:/中文/which step.jpg";			//还是中文问题处理
$encodefileC = iconv("utf-8","gbk",$fileC);	//转换字符编码
if(is_file($file)){
	if(unlink($file)){
		echo "删除成功!";
	}else{
		echo "删除失败!";
	}
}else{
	echo "文件不存在!";
}

//含中文的处理
if(is_file($encodefileC)){
	if(unlink($encodefileC)){
		echo "删除成功!";
	}else{
		echo "删除失败!";
	}
}else{
	echo "文件不存在!";
}

16、copy — 拷贝文件 

(1)语法:bool copy  ( string $source  , string $dest  [, resource $context  ] )

(2)第二个参数dest:目标路径。如果目标文件已存在,将会被覆盖。如果 dest 是一个 URL,则如果封装协议不支持覆盖已有的文件时拷贝操作会失败。

header("Content-Type:text/html; charset=utf-8");

$source = "G:/which step.jpg";
$dest = "E:/new name.jpg";
$dest2 = "E:/中文/which step.jpg";			//路径中含有中文时
$encodeDest2 = iconv("utf-8","gb2312",$dest2);	//转换字符编码
if(copy($source,$dest)){
	echo "拷贝$source 到$dest 成功!";
}else{
	echo "拷贝失败!";
}
//含中文路径的拷贝
if(copy($source,$encodeDest2)){
	echo "拷贝$source 到$dest2 成功!";
}else{
	echo "拷贝失败!";
}


PHP文件读写操作之文件写入代码 文件写入是一种常见的操作,它允许我们向文件中写入数据。在本文中,我将介绍如何使用PHP进行文件写入,并提供相应的源代码示例。需要注意的是,如果文件已经存在,上述的写入操作将覆盖文件中的内容。如果我们希望将数据追加到文件末尾,而不是覆盖原有内容,我们可以使用追加模式。在上面的代码中,我们打开了一个名为"example.txt"的文件,并将打开模式设置为"w",表示写入模式。同时,我们还介绍了如何使用打开模式来控制写入操作的行为,包括写入模式和追加模式。在上述示例中,我们将打开模式设置为"a",表示追加模式。 阅读详情

相关推荐

PHP 读写文件操作实例

NULL 博文链接:https://sifutian.iteye.com/blog/554011

php读取与写入文件(详解)

今天我们接触的是php中对文件的操作,希望大家看完能有所收获把

Demo不是emo的博客 1万+

行人重识别(ReID)基础知识入门

行人重识别(Person re-identification)主要目的是针对出现在监控摄像头内的某个目标行人,准确快速地从监控网络其他摄像头内的大量行人中将这个目标行人标识出来。如图所示一个区域有多个摄像头拍摄视频序列,ReID的要求对一个摄像头下感兴趣的行人,检索到该行人在其他摄像头下出现的所有图片。

用于记录 1万+

【PHP】文件写入和读取详解

【注意】fopen函数不能理解“\”分隔符,如果你想要使用“\”,那么要使用转义,如写成:"C:\\wamp64\\www\\text.txt"这种写法也是可以的,函数也能理解,不会报错。原来写入的路径参数就失效了。【吐槽】:关于r+和w+,a+的区别,我找了网络上,包括W3C和各种博客文章以及那本“PHP圣经”上的各种资料,发现都是一笔带过去的,这也是我写这篇文章的原因。在mac下不一样的是:敲下回车键的时候,相当于只键入了\n,所以“我叫彭湖湾”的15字节+“\n”的1字节 = 16字节。

2301_78008478的博客 3831

【新华三】通过路由复制实现Public与VRF路由互通

如上图所示,S6900设备里有两张表,一张是public路由表,默认所有的路由都存放在public路由表里;除此之外还创建了VRF test,因此此设备还有VRF test路由表。通过路由复制实现Public路由和VRF路由互通,默认情况下VRF里的路由单独一张路由表,默认情况下与public路由表相互隔离,两张表之间不可互访。此时的public路由表里面并没有test的路由表。public路由表与VRF路由表之间相互隔离。此时VRF test里的路由也没有其他VRF或Public里的路由,相互隔离。

五大连池的镜子 5279

Anaconda详细安装及使用教程(带图文)

Anacond的介绍 Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。因为包含了大量的科学包,Anaconda的下载文件比较大(约531 MB),如果只需要某些包,或者需要节省带宽或存储空间,也可以使用Miniconda这个较小的发行版(仅包含conda和Python)。 Conda是一个开源的包、环境管理器,可以用于...

代码帮 186万+

php 写入文件

1、fwrite() 函数 fwrite() 函数可以将一个字符串写入到文件中,函数的语法格式如下: fwrite(resource $handle, string $string[, int $length]) 参数说明如下: $handle:待写入的文件,是由 fopen() 创建的 resource(资源); $string:要写入的字符串; $length:可选参数,用来设定要写入的字节数。 fwrite() 函数可以把 $string 的内容写入文件指针 $handle 处。 如果指

qq5201314wx的博客 3857

OpenClaw记忆插件升级实战:从memory-lancedb-pro安装到AgentSkill封装

向量数据库作为现代AI应用的核心基础设施,通过将非结构化数据转换为高维向量并利用相似度检索实现语义理解。其原理基于嵌入模型生成向量表示,结合近似最近邻搜索算法实现高效查询。这项技术为智能体系统提供了长期记忆和上下文感知能力,显著提升了对话连贯性与任务执行效率。在AI智能体开发领域,向量数据库常用于知识库构建、对话历史管理和个性化推荐等场景。本文聚焦OpenClaw框架中memory-lancedb-pro插件的部署实践,针对**插件加载顺序**和**Apache Arrow依赖**两大常见痛点,通过封装成可

weixin_42525482的博客 638

PHP系列:【PHP】文件写入和读取详解

【PHP】文件写入和读取详解

weixin_54626591的博客 622

雷赛控制卡全方位使用指南:从硬件连接到高级应用

雷赛控制卡以其接口简单、编程便捷、性价比高的特点,成为中小自动化设备的理想选择。使用时需注意:硬件连接需注重抗干扰设计(屏蔽线、接地);软件开发需合理配置运动参数(脉冲当量、加减速);调试阶段需充分利用 DMCStudio 工具验证性能。通过本文介绍的方法,可快速实现从硬件搭建到复杂运动控制的全流程开发,满足雕刻、切割、装配等多场景的自动化需求。

品质生活,极致编程。 3773

大漠插件找图找字避坑手册:从ziku0.txt字库制作到易语言精准识别(附综合工具实操)

本文深入解析大漠插件在图像识别中的核心难点,提供从ziku0.txt字库精准制作到易语言高效调用的完整避坑指南。重点讲解如何利用大漠综合工具科学设置偏色与二值化参数,生成高质量色彩描述字符串,并分享识别失败的系统排查方法与进阶优化策略,旨在实现99%的稳定识别率。

weixin_29264201的博客 1208

PHP笔记之目录和文件操作

目录 PHP操作目录 1、目录操作概述 2、创建新目录mkdir() 3、判断是否是一个目录is_dir() 4、判断目录或文件是否存在file_exists() 5、删除目录rmdir() 6、更改目录的访问权限chmod() 7、取得目录或文件访问权限fileperms() 8、重命名或移动文件或目录rename() 9、打开目录opendir() 10、读取目录中条目readdir() 11、显示中文目录或文件iconv() 12、关闭目录句柄closedir() 综合实例

→_→ 1029

Unreal5从入门到精通之EnhancedInput增强输入系统详解

从Unreal5开始,老版的输入系统,正式替换为EnhancedInput增强型输入系统,他们之间有什么区别呢?如果有使用过Unity的同学,大概也知道,Unity也在2020版本之后逐渐把输入系统也升级成了新版输入系统,为什么Unreal和Unity都热衷于升级输入系统呢?这之间又有什么联系呢?官方:增强输入EnhancedInput希望这篇文章能够对你有所帮助。

TxNet 945

php文件操作

文件读取、写入、复制、删除、重命名等基础操作

bt_xxx的博客 1272

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

php文件操作是干嘛的,PHP学习笔记之php文件操作

一、fstat函数:显示文件的所有信息$file_path = "test.php";if($fp=fopen($file_path,"a+")){$file_info=fstat($fp);echo "";print_r($file_info);echo "";echo "文件大小为".$file_info['size'];echo "文件上次访问时间".date("Y-m-d H:i:s",$...

weixin_36250086的博客 94

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Linux(centos)新建,删除,移动文件夹和文件的命令

1.新建文件夹 mkdir 文件名 新建一个名为test的文件夹在home下 view source1 mkdir /home/test 2.新建文本 在home下新建一个test.sh脚本 vi /home/test.sh 3.删除文件或文件夹 1、删除home目录下的test目录 rm /home/test 2、这种不带参数的删除方法经常会提示无法删除,因为权限不够。 ...

风清扬写代码 3万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

php创建文件、文件目录、循环删除文件及文件目录

<?php mkdir('./test'); $filename = "./test/test.txt"; $fp1 = fopen($filename, 'w+'); //打开文件指针,创建文件 if (!is_writable($filename)) { die("文件:" . $filename . "不可写,请检查!"); } else { fwrite($fp1, $filename); } fclose($fp1); mkdir('./test/test1'); $file

lion的博客 402

php 递归删目录和文件,php递归删除目录与文件的方法

php递归删除目录与文件的方法本文实例讲述了php递归删除目录与文件的方法。分享给大家供大家参考。具体实现方法如下:function deldir($path){$dh = opendir($path);var_dump(readdir($dh));while(($d = readdir($dh)) !== false){if($d == '.' || $d == '..'){//如果为.或..c...

weixin_30086969的博客 376

【php】目录操作 文件操作

[php] view plain copy  print?     php的目录处理函数主要包括如下几个:       ①mkdir():创建目录       ②is_dir():判断给定文件名是否是一个目录       ③rmdir():删除目录       ④basename():返回路径中的文件       ⑤dirname():返回路径中的目录  

xyjikl 378

清除uploadfile php,在服务端进行目录建立、删除,文件上传、删除的过程的php代码...

在服务端进行目录建立、删除,文件上传、删除的过程的php代码更新时间:2008年09月10日 10:58:44 作者:下面的php代码具有查看服务器端目录和文件,删除文件夹等操作,是学习php文件操作不错的参考资料extract($_POST);extract($_GET);?>查看服务器端目录和文件输入目录名: 输入目录名: 上传目录名: 请选择文件: 请输入: $n = 0;if (...

weixin_35682082的博客 111

FTP操作类( 拷贝、移动、删除文件 创建目录 )

FTP操作类( 拷贝、移动、删除文件 创建目录 ) class class_ftp{ public $off; 返回操作状态(成功 失败) public $conn

NiceGY 1万+

命令行拷贝文件_「cmd」3.文件操作

文件操作Windows电脑的日常使用中我们对文件的操作都是使用鼠标,学完命令操作后你将会都文件操作有一个全新的认识DirDir命令是列出文件或目录的命令,这个命令有一些参数详细内容如下图:当然这些东西不需要去刻意记,只要记住dir这个主命令,如果有什么需求可以使用dir /?查看详细使用方法。下面展示使用的效果:列出C:甥敳獲Administrator目录下的所有文件,图中的第一个是表示日期和时间...

weixin_36227085的博客 1240

php目录和文件操作函数汇总及示例

一、判断普通文件和目录 1.is_file()//判断给定文件名是否为一个正常的文件 2.is_dir()//判断给定文件名是否是一个目录 二、文件的属性 1.file_exists()//检查文件或目录是否存在 2.filesize()//取得普通文件大小 3.is_readable()//判断给定文件名是否可读 4.is_writable()//...

alashan007的博客 440

php文件操作(最后进行文件常用函数封装)

文件信息相关API $filename="./1-file.php"; //filetype($filename):获取文件的类型,返回的是文件的类型 echo '文件类型为:',filetype($filename),"\n";//file //filesize($filename):获得文件的大小,返回字节 echo '文件大小为:',filesize($filename),"\n";//1214 //filectime($filename):获取文.

BUG制造者:图图 <p>这是一个P标签</p> 6136

指定输出目录_PHP—文件与目录操作

沙漏安全团队欢迎真正热爱技术的你!PHP学习 文件与目录操作一、判断普通文件和目录1.is_file()判断给定文件名是否为一个正常的文件语法:is_file(file) //规定要检查的文件。如果文件是常规的文件,该函数返回 TRUE。2.is_dir()判断给定文件名是否是一个目录语法: is_dir(file)如果文件名存在并且为目录,则返回 true。如果 file 是一个相...

weixin_39739234的博客 278
上一篇: PHP文件操作(一)获取文件信息,读取文件
下一篇: PHP文件操作(三)PHP实现文件上传和下载
从来_没有过
博客等级 码龄12年 10粉丝 55原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值