文件系统组件
编辑该页面警告:你浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 2.8,不再维护。
读这个页面的更新版本Symf欧宝娱乐app下载地址ony 6.2(当前的稳定版本)。
文件系统组件
文件系统组件为文件系统提供了基本的工具。
提示
锁处理程序功能是在symfony 2.6中引入的。欧宝娱乐app下载地址有关更多信息,请欧宝体育电话参见文档。
安装
1
美元作曲家需要symfony /文件系欧宝娱乐app下载地址统
或者,您可以克隆的https://github.com/欧宝娱乐app下载地址symfony/filesystem存储库。
请注意
如果你安装这个组件之外的Symfony应用程序,你必须要求欧宝娱乐app下载地址供应商/ autoload.php
文件在你的代码,使作曲家提供的类加载机制。读这篇文章为更多的细节。
使用
的文件系统类是独特的端点文件系统操作:
1 2 3 4 5 6 7 8 9 10
使用欧宝娱乐app下载地址\组件\文件系统\文件系统;使用欧宝娱乐app下载地址\组件\文件系统\异常\IOExceptionInterface;美元文件系统=新文件系统();试一试{美元文件系统- >mkdir (sys_get_temp_dir ()。' / '.random_int (0,1000年));}抓(IOExceptionInterface美元异常){回声“创建目录时出错”。美元异常- >getPath ();}
mkdir
mkdir ()创建一个目录递归地。POSIX文件系统,目录创建一个默认值“0777”模式。您可以使用第二个参数来设置自己的模式:
1
美元文件系统- >mkdir (“/ tmp /照片”,0700年);
请注意
你可以通过一个数组或任何可否认的对象作为第一个参数。
请注意
这个函数忽略了已经存在的目录。
存在
存在()检查存在的一个或多个文件或目录并返回假
如果有任何遗漏:
1 2 3 4 5 6
/ /如果这个绝对目录存在,返回true美元文件系统- >存在(“/ tmp /照片”);/ /如果存在rabbit.jpg和瓶子。png不存在,返回false/ /网格工作流路径是相对于运行PHP脚本的目录存储美元文件系统- >存在(数组(“rabbit.jpg”,“bottle.png”));
请注意
你可以通过一个数组或任何可否认的对象作为第一个参数。
复制
副本()复制一个文件(使用镜子()复制目录)。如果目标已经存在,只有在源文件复制修改日期晚于目标。这种行为可以被第三布尔参数:
1 2 3 4 5
/ /工作只有image-ICC image.jpg后已经被修改美元文件系统- >复制(“image-ICC.jpg”,“image.jpg”);/ / image.jpg将覆盖美元文件系统- >复制(“image-ICC.jpg”,“image.jpg”,真正的);
触摸
联系()设定文件的访问和修改时间。默认使用当前时间。你可以设置自己的第二个参数。第三个参数是访问时间:
1 2 3 4 5 6
/ /修改时间设置为当前时间戳美元文件系统- >联系(“file.txt”);/ /设置修改时间10秒美元文件系统- >联系(“file.txt”、时间()+10);/ /设置访问时间10秒美元文件系统- >联系(“file.txt”时间(),()10);
请注意
你可以通过一个数组或任何可否认的对象作为第一个参数。
乔恩
乔恩()更改一个文件的所有者。第三个参数是一个布尔值递归选项:
1 2 3 4
/ /设置www - data。小猫咪图片视频的主人美元文件系统- >乔恩(“lolcat.mp4”,www - data”的);/ /递归地改变视频目录的所有者美元文件系统- >乔恩(/视频的,www - data”的,真正的);
请注意
你可以通过一个数组或任何可否认的对象作为第一个参数。
chgrp
chgrp ()文件的组织变化。第三个参数是一个布尔值递归选项:
1 2 3 4
/ /设置组小猫咪图片视频nginx美元文件系统- >chgrp (“lolcat.mp4”,nginx的);/ /更改群视频目录递归地美元文件系统- >chgrp (/视频的,nginx的,真正的);
请注意
你可以通过一个数组或任何可否认的对象作为第一个参数。
修改文件权限
chmod ()变化的模式或权限文件。第四个参数是一个布尔值递归选项:
1 2 3 4
/ /视频的模式设置为0600美元文件系统- >chmod (“video.ogg”,0600年);/ /改变了国防部的src目录递归地美元文件系统- >chmod (“src”,0700年,0000年,真正的);
请注意
你可以通过一个数组或任何可否认的对象作为第一个参数。
删除
remove ()删除文件、目录和符号链接:
1
美元文件系统- >remove (数组(符号链接的,“/道路/ /目录”,“activity.log”));
请注意
你可以通过一个数组或任何可否认的对象作为第一个参数。
重命名
重命名()更改一个文件或目录的名称:
1 2 3 4
/ /重命名一个文件美元文件系统- >重命名(“/ tmp / processed_video.ogg”,“/道路/ /商店/ video_647.ogg”);/ /重命名一个目录美元文件系统- >重命名(“/ tmp /文件”,/ /存储/文件/路径的);
符号链接
符号链接()创建一个符号链接从目标到目的地。如果文件系统不支持符号链接,第三个布尔参数是:
1 2 3 4 5
/ /创建一个符号链接美元文件系统- >符号链接(“/道路/ /源”,“/道路/ /目的地”);/ /如果文件系统复制源目录/ /不支持符号链接美元文件系统- >符号链接(“/道路/ /源”,“/道路/ /目的地”,真正的);
makePathRelative
makePathRelative ()需要两个绝对路径的相对路径,并返回第一个第二个路径:
1 2 3 4 5 6 7
/ /返回“. . /”美元文件系统- >makePathRelative (' / var / 欧宝娱乐app下载地址lib / symfony / src / symfony / ',' / var / 欧宝娱乐app下载地址lib / symfony / src / symfony /组件的);/ /返回的视频/美元文件系统- >makePathRelative (“/ tmp /视频”,“/ tmp”)
isAbsolutePath
isAbsolutePath ()返回真正的
如果给定的路径是绝对的,假
否则:
1 2 3 4 5 6 7 8
/ /返回true美元文件系统- >isAbsolutePath (“/ tmp”);/ /返回true美元文件系统- >isAbsolutePath (“c: \ Windows \”);/ /返回false美元文件系统- >isAbsolutePath (“tmp”);/ /返回false美元文件系统- >isAbsolutePath (“. . / dir”);
dumpFile
2.3
的dumpFile ()
是在Symfony 2.3中引入的。欧宝娱乐app下载地址
dumpFile ()给定的内容保存到一个文件中。它以一个原子的方式:它写入一个临时文件中,然后移动到新文件的位置,当它完成的时候。这意味着用户会看到完整的旧文件或完成新文件(但从不partially-written文件):
1
美元文件系统- >dumpFile (“file.txt”,“Hello World”);
的file.txt
文件包含你好,世界
现在。