関数の概要
PHPの unlink 関数は、指定したファイルをサーバー上から削除するための関数です。ファイルシステムの操作に用いられ、不要なファイルや一時ファイルをプログラムから安全に削除する際に使われます。
パラメータの説明
filename:削除したいファイルのパスを文字列で指定します。絶対パスまたはスクリプトからの相対パスが使えます。
戻り値
unlink は、ファイルが正常に削除された場合に true を返し、失敗した場合は false を返します。削除が失敗する理由としては、ファイルが存在しない、パーミッション不足、ロックされているなどが考えられます。
使用例
基本的な使い方
<?php
$file = 'sample.txt';
if (unlink($file)) {
echo 'ファイルが削除されました。';
} else {
echo 'ファイルの削除に失敗しました。';
}
?>
この例では、sample.txt というファイルを削除し、成功したかどうかを判定しています。
存在チェックをしてから削除
<?php
$file = 'data.csv';
if (file_exists($file)) {
if (unlink($file)) {
echo 'ファイルを削除しました。';
} else {
echo '削除処理に失敗しました。';
}
} else {
echo 'ファイルが存在しません。';
}
?>
ファイルが存在するかを先に確認し、安全に削除処理を行う例です。存在しないファイルの削除はエラーになるため、事前チェックが推奨されます。
複数ファイルをまとめて削除
<?php
$files = ['temp1.log', 'temp2.log', 'temp3.log'];
foreach ($files as $file) {
if (file_exists($file) && unlink($file)) {
echo $file . ' を削除しました。<br>';
} else {
echo $file . ' の削除に失敗しました。<br>';
}
}
?>
配列に複数のファイルパスを指定し、ループでそれぞれ削除する例です。ログファイルや一時ファイルのクリーニングに役立ちます。
関連する関数
file_exists:ファイルが存在するかどうかを調べる。is_writable:ファイルやディレクトリが書き込み可能かを調べる。rmdir:空のディレクトリを削除する。fopen、fclose:ファイルハンドルの操作でファイル作成や編集に使う。
まとめ
unlink はPHPでファイルを削除する際に非常に便利な関数です。使うときは、ファイルの存在確認やパーミッションの確認を行い、想定外のファイル削除を防ぐことが重要です。複数ファイルの一括削除や削除結果の確認も簡単に行え、ファイル管理を安全に効率化できます。
