600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > PHP如何操作文件的扩展属性

PHP如何操作文件的扩展属性

时间:2024-04-04 06:21:46

相关推荐

PHP如何操作文件的扩展属性

后端开发|PHP问题

php

后端开发-PHP问题

在操作系统的文件中,还存在着一种我们可以自己定义的文件属性。这些属性不是保存在文件内容中,也不是直接能看到的内容。它们可以将一个键值对信息永久得关联到文件上,一般现在的 Linux 系统都支持这样的文件扩展属性的功能。

微擎源码下载免费,ubuntu运行久了卡,爬虫如何抓取文件,用php自定义函数求圆的面积,方法SEO课程lzw

超市货物管理系统源码,vscode中切换分支,ubuntu 双击安装,停止tomcat的命令,爬虫主场,php 正则匹配多行,前端渲染如何搞seo,彩票源码网站源码,html微信支付宝支付模板lzw

在操作系统中我们可以通过 setfattr、 getfattr、 attr 这些命令来操作它们。当然,PHP 也为我们提供了一个扩展可以用于对文件的扩展属性进行操作。

时时彩 手机 源码下载,自定义vscode界面,启动服务ubuntu,tomcat集群端口配置,qq控件爬虫,php微信接口开发教程,晋中seo优化怎么样,qqmake网站qq统计系统,xampp模板下载lzw

添加扩展属性

$file = __FILE__;var_dump(xattr_set($file, Author, yBlog)); // bool(true)var_dump(xattr_set($file, Num., 121 )); // bool(true)var_dump(xattr_set($file, Description, shuo ming, XATTR_ROOT)); // bool(true)

首先我们定义了操作的文件,在这里我们直接使用 \_\_FILE\_\_ 魔术常量来操作当前我们测试的这个 php 文件。然后使用 xattr_set() 就可以设置文件的扩展属性了。文件的扩展属性有命名空间的概念,PHP 中也相应地为我们提供了 普通(user)命名空间 和 XATTR_ROOT(root命令空间) 两种形式。

root 命名空间中的属性可以由超级用户设置,对其他用户不可见,而 user 命名空间则是根据文件的权限来定义的,也就是当前可以操作这个文件的用户就可以读取到这个文件的 user命名空间 所设置的这些扩展属性。

查看扩展属性列表

var_dump(xattr_list($file, XATTR_ROOT));// array(1) {//[0]=>//string(11) "Description"// }var_dump(xattr_list($file));// array(2) {//[0]=>//string(4) "Num."//[1]=>//string(6) "Author"// }

xattr_list() 函数可以获取文件所定义的所有命名空间的键。它也是区分 user 和 root 命名空间的。

获得扩展属性内容

var_dump(xattr_get($file, Author)); // string(6) "ZyBlog"var_dump(xattr_get($file, Description)); // bool(false)var_dump(xattr_get($file, Description, XATTR_ROOT)); // string(9) "shuo ming"

xattr_get() 函数用于获得指定键的扩展属性内容。配合上面的 xattr_list() 函数就可以获取某个文件的所有扩展属性信息。如果我们不增加 XATTR_ROOT 参数的话,是无法读取到 root命名空间 中的内容的。

删除扩展属性

var_dump(xattr_remove($file, Num.)); // bool(true)var_dump(xattr_list($file));// array(1) {//[0]=>//string(6) "Author"// }

xattr_remove() 用于删除文件的扩展属性,我们直接删除了测试文件的 user命名空间 中的 Num. 属性。再次查看它的 xattr_list() 就只剩下 Author 了。同样地,这个函数也是支持第三个参数来指定是否是 root命名空间 的操作。

验证系统是否支持扩展属性操作

var_dump(xattr_supported($file)); // bool(true)

最后就是一个 xattr_supported() 函数,用于验证当前操作系统的文件系统是否支持 xattr 相关的操作。

总结

今天的内容非常地简单浅显,这个文件的扩展属性的功能说实话也是看到 PHP 中有这个功能扩展才回去查看了 Linux 系统中的相关文档。所以说,学习都是关联的,当我们在学习 PHP 的时候,顺带着也在学习 Linux ,同时更会经常接触到 MySQL 、 Nginx 等应用的相关知识。专注于一个领域,同时扩展其它领域的知识,才是学习的最佳方式。

测试代码:

/zhangyue0503/dev-blog/blob/master/php/20/source/9.在PHP中操作文件的扩展属性.php

php视频教学

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。