ファイル権限とは、ファイルの読み取り、書き込み、実行など、システム内の特定のファイルに対して実行できる操作を指します。以下の記事では、PHPを使ってファイルのパーミッションを確認・変更する方法を紹介しますので、ご参考になれば幸いです。
PHP は、バックグラウンドで適切な権限を自動的に付与します。たとえば、書き込み用に新しいファイルを作成すると、PHP はそのファイルに読み取りおよび書き込み権限を自動的に付与します。さらに、PHP には、ファイルのアクセス許可を確認および変更するための便利な関数がいくつか用意されています。
PHP でファイルのアクセス許可を確認するにはどうすればよいですか?
PHP には、ファイルのアクセス許可をチェックするための 3 つの関数が用意されています:
is_readable() 関数: 読み取りアクセス許可があるかどうかを確認するために使用されます。が取得された場合は true が返され、それ以外の場合は false が返されます。
is_writable() 関数: 書き込み権限があるかどうかを確認するために使用され、ファイルへの書き込みが許可されている場合は true を返し、そうでない場合は false を返します。
is_executable() 関数: ファイルの実行許可があるかどうかを確認するために使用され、ファイルの実行が許可されている場合は true を返し、そうでない場合は false を返します。
コード例:
<?php header("content-type:text/html;charset=utf-8"); $fn = 'demo/test.txt'; $msg = is_readable($fn) ? $msg = '文件是可读的' : $msg = '文件不可读'; echo $msg . '<br/>'; $msg = is_writable($fn) ? $msg = '文件是可写的' : $msg = '文件不可写'; echo $msg . '<br/>'; $msg = is_executable($fn) ? $msg = '文件是可执行的' : $msg = '文件不可执行'; echo $msg . '<br/>'; ?>
出力:
これらの関数に加えて、PHP には fileperms() 関数も用意されています。特定のファイルに設定されたアクセス許可を表す整数。
<?php $fn = 'demo/test.txt'; $fp = fileperms($fn); echo substr(sprintf('%o', $fp), -4); //0666 ?>
出力:
0666
PHP でファイルのアクセス許可を変更するには?
ファイルのアクセス許可またはモードを変更するには、chmod() 関数を使用する必要があります。まず、アクセス許可を設定するファイル名を渡す必要があり、次に必要なアクセス許可を指定する必要があります。 chmod() 関数は、アクセス許可が正常に設定された場合は true を返し、それ以外の場合は false を返します。
ファイルのアクセス許可は、3 桁の 8 進数で表されます。
# 最初の数字は、ファイルの所有者がファイルに対して実行できる操作を指定します。
# 2 番目の数字は、ファイルの所有者グループがファイルに対して実行できる操作を指定します。
##●3 番目の数字は、各ユーザーがファイルに対して実行できる操作を指定します。 次の表は、特定のユーザー (ユーザー、ユーザー グループ、または全員) のアクセス権限を表す各数値の値を示しています。● 0: 読み取り、書き込み、または実行ができません。#● 1: 実行のみ可能
##● 2: 書き込みのみ可能
##● 3: 書き込みおよび実行可能##● 4: 読み取り#のみ可能
##● 5: 読み取りと実行が可能です#● 6: 読み取りと書き込みが可能です
#● 7: 読み取り、書き込み、実行が可能ですたとえば、次のようになります。作成者または所有者を設定します。 ファイルは読み取り専用です。その他のユーザーには、次のコードを使用します。<?php $fn = 'demo/test.txt'; //更改权限 chmod($fn, 0444); //读取权限 $msg = is_readable($fn) ? $msg = '文件是可读的' : $msg = '文件不可读'; echo $msg . '<br/>'; $msg = is_writable($fn) ? $msg = '文件是可写的' : $msg = '文件不可写'; echo $msg . '<br/>'; $msg = is_executable($fn) ? $msg = '文件是可执行的' : $msg = '文件不可执行'; echo $msg . '<br/>'; ?>出力:
注: 644 より前の 0。PHP にそれを 8 進数として解釈させます。
おすすめのビデオチュートリアル: 「
PHP チュートリアル」
以上がこの記事の全内容です。皆様の学習のお役に立てれば幸いです。さらにエキサイティングなコンテンツについては、PHP 中国語 Web サイトの関連チュートリアルのコラムに注目してください。 ! !以上がPHP はファイルのアクセス許可をどのように処理しますか? (コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。