ファイル操作

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

概要

嫁ちゃん
嫁ちゃん
なぜファイルが削除可能かチェックするの?
どうせ削除するなら確認なんかいらないんじゃないの。

 

わたし
わたし
「ファイルの削除が可能なら、ある処理をした後にファイルを削除する」というような分岐が可能になるよ。

環境

使用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 より抜粋

コード

PHP
$filePath = 'test.txt'; if ( is_writable( $filePath ) ) { echo "ファイルの削除ができます。" } else { echo "ファイルの削除ができません。" }

実行結果

Mac Terminal
ファイルの削除ができます。

おわりに

嫁ちゃん
嫁ちゃん
is_writable 関数は、そもそも対象ファイルに書き込み権限があるかをチェックするものですが、同時にファイルに「書き込める=削除できる」ということになるのですね。
わたし
わたし
MacやLinuxでは、ファイルの所有者と権限によって削除が可能かどうか変わってくるよ。削除を求めるユーザに対して書き込み権限がなければファイルの削除もできないということになるね。

参考サイト

PHP: is_writable – Manual

この記事がお役に立ちましたら幸いです。
ブログランキングに参加しております。よろしければクリックお願いいたします。
にほんブログ村 IT技術ブログ PHPへ
※本サイトに掲載する情報には充分に注意を払っておりますが、その内容について保証するものではありません。
※本サイトの使用ならびに閲覧によって生じたいかなる損害にも責任を負いかねます。

コメント

タイトルとURLをコピーしました