目次
概要
嫁ちゃん
なぜファイルが削除可能かチェックするの?
どうせ削除するなら確認なんかいらないんじゃないの。
どうせ削除するなら確認なんかいらないんじゃないの。
わたし
「ファイルの削除が可能なら、ある処理をした後にファイルを削除する」というような分岐が可能になるよ。
環境
使用OS | macOS Catalina バージョン 10.15.1 |
PHP | バージョン |
is_writable 関数
is_writable
関数は、対象のファイルが書き込みが可能かチェックする関数です。
返り値は、書き込みが可能な場合、TRUE
を返します。ファイルが存在しない、または書き込み権限がない場合 空です。
is_writable ( string $filename ) : bool
filenameが存在して、かつそれが書き込み可能であれば TRUEを返します。引数filenameはディレクトリ名とすることができ、 ディレクトリが書き込み可能であることを調べることが可能です。
PHP は、Web サーバーが実行されているユーザー ID(‘nobody’ が多い) でファイルにアクセスすることを覚えておいてください。 セーフモードの制限は働きません。
PHP:is_writable – Manual より抜粋
コード
$filePath = 'test.txt';
if ( is_writable( $filePath ) )
{
echo "ファイルの削除ができます。"
}
else
{
echo "ファイルの削除ができません。"
}
実行結果
ファイルの削除ができます。
おわりに
嫁ちゃん
is_writable 関数は、そもそも対象ファイルに書き込み権限があるかをチェックするものですが、同時にファイルに「書き込める=削除できる」ということになるのですね。
わたし
MacやLinuxでは、ファイルの所有者と権限によって削除が可能かどうか変わってくるよ。削除を求めるユーザに対して書き込み権限がなければファイルの削除もできないということになるね。
参考サイト
[A8_TechAcademy065]
[Footer]