文件系统组件

编辑该页面

警告:你浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 2.3,不再维护。

这个页面的更新版本Symf欧宝娱乐app下载地址ony 6.2(当前的稳定版本)。

文件系统组件

文件系统组件为文件系统提供了基本的工具。

2.1

文件系统组件是在Symfony 2.1中引入的。欧宝娱乐app下载地址在此之前,文件系统类是位于HttpKernel组件。

安装

您可以安装组件在两个不同的方面:

然后,需要供应商/ autoload.php文件,使作曲家提供的半自动的机制。否则,您的应用程序无法找到这个Symfony组件的类。欧宝娱乐app下载地址

使用

文件系统类是独特的端点文件系统操作:

1 2 3 4 5 6 7 8 9 10
使用欧宝娱乐app下载地址\组件\文件系统\文件系统;使用欧宝娱乐app下载地址\组件\文件系统\异常\IOException;美元fs=文件系统();试一试{美元fs- >mkdir (“/ tmp /随机/ dir /”.mt_rand ());}(IOException美元e){回声“创建目录时发生了错误;}

请注意

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

mkdir

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

1
美元fs- >mkdir (“/ tmp /照片”,0700年);

请注意

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

存在

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

1 2 3 4 5
/ /该目录存在,返回true美元fs- >存在(“/ tmp /照片”);/ / rabbit.jpg存在,瓶子。png不存在,返回false美元fs- >存在(数组(“rabbit.jpg”,“bottle.png”));

请注意

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

复制

副本()用于复制文件。如果目标已经存在,只有在源文件复制修改日期晚于目标。这种行为可以被第三布尔参数:

1 2 3 4 5
/ /工作只有image-ICC image.jpg后已经被修改美元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”、时间()+10);/ /设置访问时间10秒过去美元fs- >联系(“file.txt”时间(),()10);

请注意

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

乔恩

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

1 2 3 4
/ /设置www - data。小猫咪图片视频的主人美元fs- >乔恩(“lolcat.mp4”,www - data”的);/ /递归地改变视频目录的所有者美元fs- >乔恩(/视频的,www - data”的,真正的);

请注意

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

chgrp

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

1 2 3 4
/ /设置组小猫咪图片视频nginx美元fs- >chgrp (“lolcat.mp4”,nginx的);/ /更改群视频目录递归地美元fs- >chgrp (/视频的,nginx的,真正的);

请注意

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

修改文件权限

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

1 2 3 4
/ /视频的模式设置为0600美元fs- >chmod (“video.ogg”,0600年);/ /改变国防部的src目录递归地美元fs- >chmod (“src”,0700年,0000年,真正的);

请注意

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

删除

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 / 欧宝娱乐app下载地址lib / symfony / src / symfony / ',' / var / 欧宝娱乐app下载地址lib / symfony / src / symfony /组件的);/ /返回的视频/美元fs- >makePathRelative (“/ tmp /视频”,“/ tmp”)

镜子

镜子()镜子一个目录:

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

isAbsolutePath

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

1 2 3 4 5 6 7 8
/ /返回真美元fs- >isAbsolutePath (“/ tmp”);/ /返回真美元fs- >isAbsolutePath (“c: \ Windows \”);/ /返回假美元fs- >isAbsolutePath (“tmp”);/ /返回假美元fs- >isAbsolutePath (“. . / dir”);

dumpFile

2.3

dumpFile ()是在Symfony 2.3中引入的。欧宝娱乐app下载地址

dumpFile ()允许您将内容转储到一个文件。它以一个原子的方式:它写入一个临时文件中,然后移动到新文件的位置,当它完成的时候。这意味着用户会看到完整的旧文件或完成新文件(但从不partially-written文件):

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

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

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

错误处理

实现只要错误的事情发生了,一个异常ExceptionInterface抛出。

请注意

在版本2.1之前,mkdir返回一个布尔值,不抛出异常。2.1,一个IOException如果抛出一个目录创建失败。

这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。