欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

在PHP中操作文件的擴(kuò)展屬性

 更新時間:2021年07月15日 10:56:00   作者:硬核項目經(jīng)理  
PHP為我們提供了一個擴(kuò)展可以用于對文件的擴(kuò)展屬性進(jìn)行操作。本文通過實例代碼給大家介紹在PHP中操作文件的擴(kuò)展屬性的相關(guān)知識,感興趣的朋友跟隨小編一起看看吧

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

添加擴(kuò)展屬性

$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__ 魔術(shù)常量來操作當(dāng)前我們測試的這個 php 文件。然后使用 xattr_set() 就可以設(shè)置文件的擴(kuò)展屬性了。文件的擴(kuò)展屬性有命名空間的概念,PHP 中也相應(yīng)地為我們提供了 普通(user)命名空間 和 XATTR_ROOT(root命令空間) 兩種形式。root 命名空間中的屬性可以由超級用戶設(shè)置,對其他用戶不可見,而 user 命名空間則是根據(jù)文件的權(quán)限來定義的,也就是當(dāng)前可以操作這個文件的用戶就可以讀取到這個文件的 user命名空間 所設(shè)置的這些擴(kuò)展屬性。

查看擴(kuò)展屬性列表

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() 函數(shù)可以獲取文件所定義的所有命名空間的鍵。它也是區(qū)分 user 和 root 命名空間的。

獲得擴(kuò)展屬性內(nèi)容

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() 函數(shù)用于獲得指定鍵的擴(kuò)展屬性內(nèi)容。配合上面的 xattr_list() 函數(shù)就可以獲取某個文件的所有擴(kuò)展屬性信息。如果我們不增加 XATTR_ROOT 參數(shù)的話,是無法讀取到 root命名空間 中的內(nèi)容的。

刪除擴(kuò)展屬性

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

xattr_remove() 用于刪除文件的擴(kuò)展屬性,我們直接刪除了測試文件的 user命名空間 中的 Num. 屬性。再次查看它的 xattr_list() 就只剩下 Author 了。同樣地,這個函數(shù)也是支持第三個參數(shù)來指定是否是 root命名空間 的操作。

驗證系統(tǒng)是否支持?jǐn)U展屬性操作

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

最后就是一個 xattr_supported() 函數(shù),用于驗證當(dāng)前操作系統(tǒng)的文件系統(tǒng)是否支持 xattr 相關(guān)的操作。

總結(jié)

今天的內(nèi)容非常地簡單淺顯,這個文件的擴(kuò)展屬性的功能說實話也是看到 PHP 中有這個功能擴(kuò)展才回去查看了 Linux 系統(tǒng)中的相關(guān)文檔。所以說,學(xué)習(xí)都是關(guān)聯(lián)的,當(dāng)我們在學(xué)習(xí) PHP 的時候,順帶著也在學(xué)習(xí) Linux ,同時更會經(jīng)常接觸到 MySQL 、 Nginx 等應(yīng)用的相關(guān)知識。專注于一個領(lǐng)域,同時擴(kuò)展其它領(lǐng)域的知識,才是學(xué)習(xí)的最佳方式。

測試代碼:

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

參考文檔:

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

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

相關(guān)文章

  • PHP身份證校驗碼計算方法

    PHP身份證校驗碼計算方法

    本文給大家分享嘗試使用php語言實現(xiàn)身份證校驗碼以此來判斷用戶的身份證號碼是否正確
    2016-08-08
  • php中的雙引號與單引號的基本使用及區(qū)別

    php中的雙引號與單引號的基本使用及區(qū)別

    字符串是一個非常要的知識,在開發(fā)中,有的使用單引號,有的使用雙引號,這個是有區(qū)別的,這篇文章主要介紹了php中的雙引號與單引號的基本使用,需要的朋友可以參考下
    2023-06-06
  • php5.3以后的版本連接sqlserver2000的方法

    php5.3以后的版本連接sqlserver2000的方法

    這篇文章主要介紹了php5.3以后的版本連接sqlserver2000的方法,包括php5.4、php5.5等版本的通用解決方法,需要的朋友可以參考下
    2014-07-07
  • PHP 實現(xiàn)文件壓縮解壓操作的方法

    PHP 實現(xiàn)文件壓縮解壓操作的方法

    這篇文章主要介紹了PHP 實現(xiàn)壓縮解壓操作的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Laravel統(tǒng)一錯誤處理為JSON的方法介紹

    Laravel統(tǒng)一錯誤處理為JSON的方法介紹

    這篇文章主要給大家介紹了關(guān)于Laravel統(tǒng)一錯誤處理為JSON的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • php按百分比生成縮略圖的代碼分享

    php按百分比生成縮略圖的代碼分享

    最近的一個網(wǎng)站項目中上傳圖片需要生成縮略圖,以減小列表頁的大小,減緩服務(wù)器壓力。一向崇尚簡潔明了和實用的我,看到網(wǎng)上搜到的一個個長長的php縮略圖類的時候,感到非常痛苦。我承認(rèn)他們寫的功能是強(qiáng)大一些,但是我不需要這么復(fù)雜的功能
    2014-05-05
  • Zend Framework教程之Zend_Layout布局助手詳解

    Zend Framework教程之Zend_Layout布局助手詳解

    這篇文章主要介紹了Zend Framework教程之Zend_Layout布局助手用法,結(jié)合實例形式詳細(xì)分析了Layout布局的相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2016-03-03
  • 最新評論