【PHP】ファイルが削除可能かチェックする is_writable

  • URLをコピーしました!
目次

概要

嫁ちゃん
嫁ちゃん
なぜファイルが削除可能かチェックするの?
どうせ削除するなら確認なんかいらないんじゃないの。
わたし
わたし
「ファイルの削除が可能なら、ある処理をした後にファイルを削除する」というような分岐が可能になるよ。

環境

使用OSmacOS 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では、ファイルの所有者と権限によって削除が可能かどうか変わってくるよ。削除を求めるユーザに対して書き込み権限がなければファイルの削除もできないということになるね。

参考サイト

PHP: is_writable – Manual

[A8_TechAcademy065]

[Footer]

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次