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));