文件系统组件

ob娱乐下载symfony 5.3支持经过乔利德

文件系统组件

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

安装

1
$Composer需要Symfonyob娱乐下载 /文件系统

笔记

如果在Symfony应用程序之外安装此组件,则必须要求ob娱乐下载供应商/ autoload.php.代码中的文件以启用Composer提供的类自动加载机制。读本文更多细节。

用法

ob娱乐下载symfony \ component \ filesystem \ filesystemclass是文件系统操作的唯一端点:

ob娱乐下载symfony \ component \ filesystem \异常\ ioExcepionInterface;ob娱乐下载symfony \ component \ filesystem \ filesystem;$文件系统=新的文件系统();尝试{$文件系统- >MKDIR.sys_get_temp_dir.()'/'random_int.0.1000));}抓住IoExcepionInterface.$例外{回声“在创建目录时发生错误”$例外- >getpath.();}

笔记

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

MKDIR.

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

$文件系统- >MKDIR.'/ tmp / photos'0700.);

笔记

您可以传递数组或任何数组遍历对象作为第一个参数。

笔记

此功能忽略已存在的目录。

笔记

目录权限受到当前的影响umask.。设定umask.对于您的Web服务器,请使用PHPumask.功能或使用chmod.创建目录后的函数。

存在

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

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

笔记

您可以传递数组或任何数组遍历对象作为第一个参数。

复制

复制()制作单个文件的副本(使用镜子()复制目录)。如果目标已存在,则才会在源修改日期延迟而不是目标时复制该文件。第三个布尔参数可以覆盖此行为:

仅适用于image.jpg后修改了image-ICC$文件系统- >复制'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'0700.0000.真的);

笔记

您可以传递数组或任何数组遍历对象作为第一个参数。

去掉

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

$文件系统- >去掉(['symlink''/ path / to / directory''活动日志']);

笔记

您可以传递数组或任何数组遍历对象作为第一个参数。

改名

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

//重命名文件$文件系统- >改名'/tmp/processed_video.ogg''/path/to/store/video_647.ogg');//重命名目录$文件系统- >改名'/ tmp / files''/ path / to / store / files');//如果目标已存在,则可以使用第三个布尔参数来覆盖。$文件系统- >改名'/tmp/processed_video2.ogg''/path/to/store/video_647.ogg'真的);

makepathrelive.

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

//返回'../'$文件系统- >makepathrelive.'/ var / lob娱乐下载ib / symfony / src / symfony /''/ var / lob娱乐下载ib / symfony / src / symfony / component');//返回“视频/”$文件系统- >makepathrelive.'/ tmp / videos''/ tmp');

镜子

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

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

isabsolutepath.

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

//返回真实$文件系统- >isabsolutepath.'/ tmp');//返回真实$文件系统- >isabsolutepath.'C:\\ Windows');//返回false.$文件系统- >isabsolutepath.'tmp');//返回false.$文件系统- >isabsolutepath.'../dir');

温泉

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

//返回一个路径:/ tmp / prefix_wyjgtf$文件系统- >温泉'/ tmp''字首_');//返回一个路径:/tmp/prefix_wyjgtf.png$文件系统- >温泉'/ tmp''字首_''.png');

5.1版中的新增功能:设置后缀的选项Tempnam()在Symfony 5.1中介绍。ob娱乐下载

dumpfile.

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

$文件系统- >dumpfile.'file.txt''你好,世界');

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

Appendtofile.

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

$文件系统- >Appendtofile.'logs.txt''电子邮件发送至[电子邮件受保护]');

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

误差处理

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

笔记

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

这项工作包括代码样本,是在a下获得的许可Creative Commons by-SA 3.0执照。