查詢

eio_fchmod()函式—用法及示例

「 透過檔案描述符非同步更改檔案的許可權 」


函式名稱: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擴充套件。

補充糾錯
上一個函式: eio_dup2()函式
下一個函式: eio_fallocate()函式
熱門PHP函式
分享連結