PHP | chmod 函數

怎樣修改文件權限

最近更新時間 2020-12-17 19:26:03

chmod 函數修改文件權限,如設置文件為只讀。

函數接收兩個參數,其中 mode 為 int 類型,需要八進制格式整型,可使用 octdec() 函數把 int 轉 oct。

函數定義

chmod(string $filename, int $mode):bool
// 源文件位於:ext/standard/filestat.c
# 函數定義

PHP_FUNCTION(chmod)
{
  ...
  php_error_docref(NULL, E_WARNING, "Can not call chmod() for a non-standard stream");
  ...
  ret = VCWD_CHMOD(filename, imode);
  if (ret == -1) {
    php_error_docref(NULL, E_WARNING, "%s", strerror(errno));
    RETURN_FALSE;
  }
  RETURN_TRUE;
}

參數

  • checkfilename -文件路徑,不能是網絡路徑。
  • checkmode -權限值。必須輸入八進制格式或字符串形式,如 0600 表示所有者可讀寫。

返回值

  • checkbool - 成功時返回 TRUE,或者在失敗時返回 FALSE。

如果文件是遠程文件,函數返回 false,拋 Can not call chmod() for a non-standard stream 警告。如果當前執行 PHP 的用戶不滿足系統的文件權限限制,會操作失敗。

示例1: - 使用 chmod() 函數設置文件權限信息。

<?php
/**
 * PHP 使用 chmod() 函數設置文件權限。
 *
 * @since Version 1.0.0
 * @filesource
 */

// 設置文件所有者可讀寫
chmod("./foo.txt", 0600);

// 設置文件所有者可讀寫,其他用戶可讀
chmod("./foo.txt", 0644);

// 設置文件所有用戶可讀寫和執行
chmod("./foo.txt", 0755);

// 等同於上面的功能
chmod("./foo.txt", octdec(755));
rss_feed