函式名稱:eio_fchmod()
函式描述:透過檔案描述符非同步更改檔案的許可權
適用版本: PHP 5 >= 5.4.0, PHP 7
語法:eio_fchmod(resource $fd, int $mode [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]]) : resource
引數:
- $fd:檔案描述符,透過eio_open()或eio_open()返回的資源型別開啟的檔案
- $mode:要設定的許可權模式(八進位制表示的數值),例如:0644
- $pri:優先順序,可選引數,預設為EIO_PRI_DEFAULT
- $callback:請求完成時的回撥函式,可選引數
- $data:回撥函式中的使用者自定義資料,可選引數
返回值:
- 如果請求成功,返回請求資源,可以在將來使用該資源來取消請求(使用eio_cancel())
- 如果請求失敗,返回-1
用法示例:
<?php
$fd = eio_open('test.txt', EIO_O_WRONLY, null, null, null);
eio_fchmod($fd, 0644, EIO_PRI_DEFAULT, function($data, $result) use ($fd) {
if ($result == 0) {
echo "檔案許可權更改成功";
} else {
echo "檔案許可權更改失敗";
}
eio_close($fd);
});
eio_event_loop();
?>
以上示例中,我們開啟了一個名為test.txt
的檔案,並以寫入模式開啟。然後,我們使用eio_fchmod()
函式將檔案許可權更改為0644
(相當於-rw-r--r--)。在回撥函式中,我們檢查了請求的結果,如果結果為0,則表示許可權更改成功,否則表示失敗。最後,我們使用eio_close()
關閉檔案描述符。最後,在事件迴圈中呼叫eio_event_loop()
以觸發非同步請求的執行。
請注意,為了使eio_fchmod()
函式正常工作,您還需要確保已啟用eio擴充套件。