书籍Symfony 5:快速轨道欧宝娱乐app下载地址

欧宝娱乐app下载地址交响乐5:快车道是学习现代Symfony发展的最佳书籍,从零到生产。欧宝娱乐app下载地址+300页展示与Docker,API,队列和欧宝娱乐app下载地址异步任务,网克,SPA等的Symfony。

文件系统组件

欧宝娱乐app下载地址symfony 5.3支持经过JoliCode

文件系统组件

文件系统组件为文件系统提供基本实用程序。

安装

1
$作曲家需要symfony /文件系欧宝娱乐app下载地址统

笔记

如果在Symfony应用程序之外安装此组件,则必须要求欧宝娱乐app下载地址供应商/ autoload.php.以启用Composer提供的类自动加载机制。读这篇文章更多细节。

用法

欧宝娱乐app下载地址Symfony \文件系统组件\ \文件系统类是文件系统操作的唯一端点:

欧宝娱乐app下载地址symfony \ component \ filesystem \异常\ ioExcepionInterface;欧宝娱乐app下载地址Symfony \文件系统组件\ \文件系统;美元的文件系统=新的文件系统();尝试{美元的文件系统- >MKDIR.sys_get_temp_dir.()'/'random_int.0.1000));}IOExceptionInterface美元的例外{回声“在创建目录时发生错误”美元的例外- >getPath();}

笔记

方法mkdir()存在()触碰()去掉()chmod ()chown()chgrp ()可以接收一个字符串,一个数组或任何对象实现可否认的作为目标论点。

MKDIR.

mkdir()递归创建目录。在POSIX文件系统中,目录创建时使用默认模式值0777。您可以使用第二个参数来设置自己的模式:

美元的文件系统- >MKDIR.“/ tmp /照片”0700);

笔记

您可以传递一个或任何数组可否认的对象作为第一个参数。

笔记

这个函数忽略已经存在的目录。

笔记

当前目录权限受影响umask。设定umask对于你的web服务器,使用PHPumask功能或使用chmod.在创建目录后执行。

存在

存在()检查是否存在一个或多个文件或目录并返回错误的如果其中任何一个缺少:

//如果这个绝对目录存在,返回true美元的文件系统- >存在“/ tmp /照片”);//如果存在rabbit.jpg并且瓶子.png不存在,返回false//非绝对路径相对于存储运行PHP脚本的目录美元的文件系统- >存在(['rabbit.jpg'“bottle.png”]);

笔记

您可以传递一个或任何数组可否认的对象作为第一个参数。

复制

复制()复制单个文件(使用镜子()复制目录)。如果目标器已经存在,只有当源修改日期晚于目标器时,才会复制该文件。这个行为可以被第三个布尔参数覆盖:

//只有image-ICC在image.jpg之后被修改后才有效美元的文件系统- >复制“image-ICC.jpg”“image.jpg”);//映像.jpg将被覆盖美元的文件系统- >复制“image-ICC.jpg”“image.jpg”真的);

触碰

触碰()为文件设置访问和修改时间。默认使用当前时间。您可以使用第二个参数设置自己。第三个参数是访问时间:

//将修改时间设置为当前时间戳美元的文件系统- >触碰“file.txt”);//将来设置修改时间10秒美元的文件系统- >触碰“file.txt”时间()+10);//设置过去10秒的访问时间美元的文件系统- >触碰“file.txt”时间(),时间()-10);

笔记

您可以传递一个或任何数组可否认的对象作为第一个参数。

ch

chown()更改文件的所有者。第三个参数是一个布尔递归选项:

//将lolcat视频的所有者设置为www-data美元的文件系统- >ch“lolcat.mp4”www - data”的);//递归更改视频目录的所有者美元的文件系统- >ch'/视频'www - data”的真的);

笔记

您可以传递一个或任何数组可否认的对象作为第一个参数。

chgrp

chgrp ()更改文件的组。第三个参数是一个布尔递归选项:

//设置lolcat视频组为nginx美元的文件系统- >chgrp“lolcat.mp4”nginx的);//递归修改视频目录的组美元的文件系统- >chgrp'/视频'nginx的真的);

笔记

您可以传递一个或任何数组可否认的对象作为第一个参数。

chmod.

chmod ()更改文件的模式或权限。第四个论点是一个布尔递归选项:

//将视频模式设置为0600美元的文件系统- >chmod.“video.ogg”0600);//递归改变SRC目录的模式美元的文件系统- >chmod.'src'07000000.真的);

笔记

您可以传递一个或任何数组可否认的对象作为第一个参数。

去掉

去掉()删除文件、目录和符号链接:

美元的文件系统- >去掉([符号链接的“/道路/ /目录”'活动日志']);

笔记

您可以传递一个或任何数组可否认的对象作为第一个参数。

重命名

重命名()更改单个文件或目录的名称:

//重命名文件美元的文件系统- >重命名“/ tmp / processed_video.ogg”“/道路/ /商店/ video_647.ogg”);//重命名目录美元的文件系统- >重命名“/ tmp /文件”/ /存储/文件/路径的);//如果目标已经存在,则可以覆盖第三个布尔参数。美元的文件系统- >重命名“/ tmp / processed_video2.ogg”“/道路/ /商店/ video_647.ogg”真的);

makepathrelive.

MakePathRelative()占用两个绝对路径,并将第二路径返回到第一个路径:

/ /返回“. . /”美元的文件系统- >makepathrelive.' / var / 欧宝娱乐app下载地址lib / symfony / src / symfony / '' / var / 欧宝娱乐app下载地址lib / symfony / src / symfony /组件的);//返回“视频/”美元的文件系统- >makepathrelive.'/ tmp / videos'“/ tmp”);

镜子

镜子()将源目录的所有内容复制到目标目录中(使用复制()复制单个文件的方法):

美元的文件系统- >镜子'/ path / to / source''/ path / to / target');

isAbsolutePath

isAbsolutePath ()回报真的如果给定的路径是绝对路径,错误的除此以外:

/ /返回true美元的文件系统- >isAbsolutePath“/ tmp”);/ /返回true美元的文件系统- >isAbsolutePath'C:\\ Windows');/ /返回false美元的文件系统- >isAbsolutePath'tmp');/ /返回false美元的文件系统- >isAbsolutePath“. . / dir”);

tempnam

tempnam ()使用唯一的文件名创建临时文件,并返回其路径,或抛出异常失败:

//返回路径:/tmp/prefix_wyjgtF美元的文件系统- >tempnam“/ tmp”“prefix_”);//返回路径:/tmp/prefix_wyjgtF.png美元的文件系统- >tempnam“/ tmp”“prefix_”'.png');

5.1新版功能:设置后缀的选项tempnam ()在Symfony 5.1中引入。欧宝娱乐app下载地址

dumpfile.

dumpFile ()将给定内容保存到文件中。它以原子方式执行此操作:它首先写入临时文件,然后在完成后将其移动到新文件位置。这意味着用户将始终看到完整的旧文件或完整的新文件(但从未成为部分写入的文件):

美元的文件系统- >dumpfile.“file.txt”“Hello World”);

file.txt文件包含你好世界现在。

Appendtofile.

appendtofile()在文件末尾添加新的内容:

美元的文件系统- >Appendtofile.'logs.txt'的电子邮件发送到(电子邮件保护)');

如果文件或包含它的目录不存在,此方法将在附加内容之前创建它们。

误差处理

每当发生错误时,一个例外实施欧宝娱乐app下载地址symfony \ component \ filesystem \异常\ ExceptionInterface或者欧宝娱乐app下载地址symfony \ component \ filesystem \异常\ ioExcepionInterface被抛出。

笔记

一个欧宝娱乐app下载地址symfony \ component \ filesystem \异常\ ioException如果目录创建失败,则抛出。

这项工作,包括代码样本,是在一个Creative Commons by-SA 3.0执照。