婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 在PHP中操作文件的擴展屬性

在PHP中操作文件的擴展屬性

熱門標簽:400電話個人能不能辦理 天津電銷外呼系統違法嗎 凱立德地鐵站地圖標注 溫州外呼系統招商 合肥ai電銷機器人費用 上海400客服電話怎么申請 銀行信貸電話機器人 滄州電銷外呼系統價格 手機外呼系統什么原理

在操作系統的文件中,還存在著一種我們可以自己定義的文件屬性。這些屬性不是保存在文件內容中,也不是直接可以通過 ls -al 所能看到的內容。它們可以將一個鍵值對信息永久得關聯到文件上,一般現在的 Linux 系統都支持這樣的文件擴展屬性的功能。在操作系統中我們可以通過 setfattr、 getfattr、 attr 這些命令來操作它們。當然,PHP 也為我們提供了一個擴展可以用于對文件的擴展屬性進行操作。

添加擴展屬性

$file = __FILE__;

var_dump(xattr_set($file, 'Author', 'ZyBlog')); // 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 等應用的相關知識。專注于一個領域,同時擴展其它領域的知識,才是學習的最佳方式。

測試代碼:

https://github.com/zhangyue0503/dev-blog/blob/master/php/202010/source/9.在PHP中操作文件的擴展屬性.php

參考文檔:

https://www.php.net/manual/zh/book.xattr.php

到此這篇關于在PHP中操作文件的擴展屬性的文章就介紹到這了,更多相關php擴展屬性內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • php利用ZipArchive類操作文件的實例
  • PHP繞過open_basedir限制操作文件的方法
  • PHP操作文件的一些基本函數使用示例
  • PHP操作文件類的函數代碼(文件和文件夾創建,復制,移動和刪除)
  • PHP 操作文件的一些FAQ總結
  • PHP操作文件方法問答

標簽:酒泉 溫州 七臺河 怒江 赤峰 金華 白城 洛陽

巨人網絡通訊聲明:本文標題《在PHP中操作文件的擴展屬性》,本文關鍵詞  在,PHP,中,操作,文件,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《在PHP中操作文件的擴展屬性》相關的同類信息!
  • 本頁收集關于在PHP中操作文件的擴展屬性的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 台安县| 边坝县| 绵竹市| 准格尔旗| 仙居县| 衡水市| 高陵县| 河池市| 葵青区| 新沂市| 资溪县| 桦南县| 迁安市| 漾濞| 邛崃市| 杨浦区| 波密县| 鄂尔多斯市| 遵义市| 东至县| 大新县| 博客| 枞阳县| 固原市| 民和| 郁南县| 三台县| 绥中县| 松阳县| 二连浩特市| 漳平市| 沾益县| 通江县| 固镇县| 泸州市| 平南县| 绿春县| 安平县| 大荔县| 海晏县| 永登县|