文件系统组件

编辑本页

警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 2.3,现已不再维护。

本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。

文件系统组件

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

2.1

Filesystem组件是在Symfony 2.1中引入的。ob娱乐下载在此之前,文件系统类位于HttpKernel组件中。

安装

你可以用两种不同的方式安装组件:

然后,要求供应商/ autoload.php文件以启用Composer提供的自动加载机制。否则,您的应用程序将无法找到这个Symfony组件的类。ob娱乐下载

使用

文件系统类是文件系统操作的唯一端点:

1 2 3 4 5 6 7 8 9 10
使用ob娱乐下载组件文件系统文件系统使用ob娱乐下载组件文件系统异常IOExceptionfs文件系统();试一试fs->mkdir (“/ tmp /随机/ dir /”.mt_rand ());}(IOExceptione) {回声"创建目录时发生错误";}

请注意

方法mkdir ()存在()联系()remove ()chmod ()乔恩()而且chgrp ()可以接收字符串,数组或任何对象实现可否认的作为目标参数。

mkdir

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

1
fs->mkdir (“/ tmp /照片”0700);

请注意

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

存在

存在()检查是否存在所有文件或目录并返回如果文件丢失:

1 2 3 4 5
//该目录存在,返回truefs->存在(“/ tmp /照片”);// rabbit.jpg存在,bottle.png不存在,返回falsefs->存在(数组“rabbit.jpg”“bottle.png”));

请注意

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

复制

副本()用于拷贝文件。如果目标已经存在,则仅当源修改日期晚于目标时才复制文件。这个行为可以被第三个布尔参数覆盖:

1 2 3 4 5
//仅当image.jpg之后修改了image-ICC才有效fs->复制(“image-ICC.jpg”“image.jpg”);// image.jpg将被覆盖fs->复制(“image-ICC.jpg”“image.jpg”真正的);

触摸

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

1 2 3 4 5 6
//设置修改时间为当前时间戳fs->联系(“file.txt”);//设置未来的修改时间为10秒fs->联系(“file.txt”, time() +10);//设置访问时间10秒过去fs->联系(“file.txt”, time(), time() -10);

请注意

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

乔恩

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

1 2 3 4
//设置lolcat视频的所有者为www-datafs->乔恩(“lolcat.mp4”www - data”的);//递归地更改视频目录的所有者fs->乔恩(/视频的www - data”的真正的);

请注意

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

chgrp

chgrp ()用于修改文件所属的组。第三个参数是一个布尔递归选项:

1 2 3 4
//设置视频的组为nginxfs->chgrp (“lolcat.mp4”nginx的);//递归更改视频目录的组fs->chgrp (/视频的nginx的真正的);

请注意

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

修改文件权限

chmod ()用于更改文件的模式。第四个参数是一个布尔递归选项:

1 2 3 4
//设置视频模式为0600fs->chmod (“video.ogg”0600);//递归修改SRC目录的modfs->chmod (“src”07000000真正的);

请注意

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

删除

remove ()用于轻松删除文件,符号链接,目录:

1
fs->remove (数组符号链接的“/道路/ /目录”“activity.log”));

请注意

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

重命名

重命名()用于重命名文件和目录:

1 2 3 4
//重命名文件fs->重命名(“/ tmp / processed_video.ogg”“/道路/ /商店/ video_647.ogg”);//重命名目录fs->重命名(“/ tmp /文件”/ /存储/文件/路径的);

符号链接()创建从目标到目的地的符号链接。如果文件系统不支持符号链接,第三个布尔参数可用:

1 2 3 4 5
//创建一个符号链接fs->符号链接(“/道路/ /源”“/道路/ /目的地”);//复制源目录//不支持符号链接fs->符号链接(“/道路/ /源”“/道路/ /目的地”真正的);

makePathRelative

makePathRelative ()返回给定目录的相对路径:

1 2 3 4 5 6 7
//返回'../'fs->makePathRelative (' / var / ob娱乐下载lib / symfony / src / symfony / '' / var / ob娱乐下载lib / symfony / src / symfony /组件的);//返回'videos/'fs->makePathRelative (“/ tmp /视频”“/ tmp”

镜子

镜子()镜像一个目录:

1
fs->镜子(“/道路/ /源”“/道路/ /目标”);

isAbsolutePath

isAbsolutePath ()返回真正的如果给定的路径是绝对路径,否则:

1 2 3 4 5 6 7 8
//返回truefs->isAbsolutePath (“/ tmp”);//返回truefs->isAbsolutePath (“c: \ Windows \”);//返回falsefs->isAbsolutePath (“tmp”);//返回falsefs->isAbsolutePath (“. . / dir”);

dumpFile

2.3

dumpFile ()在Symfony 2.3中引入。ob娱乐下载

dumpFile ()允许您将内容转储到文件中。它以原子的方式执行此操作:首先写入临时文件,然后在完成时将其移动到新文件位置。这意味着用户总是会看到完整的旧文件或完整的新文件(但永远不会看到部分写入的文件):

1
fs->dumpFile (“file.txt”“Hello World”);

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

所需的文件模式可以作为第三个参数传递。

错误处理

每当有错误发生时,一个异常实现ExceptionInterface抛出。

请注意

在2.1版本之前,mkdir返回布尔值,不抛出异常。从2.1开始,aIOException如果创建目录失败,则引发。

此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。