この記事でわかること
- PHPでファイルが存在するかを確認する方法
- PHPでファイルを削除する基本的なコード
- 配列に入った複数ファイルをループで削除する実用例
- よくあるエラーとその対処法
PHPでファイルを削除するには?【基本知識】
PHPでファイルを削除するには、以下の2つの関数を使います。
✅ file_exists():ファイルの存在確認
file_exists('f1.png'); // true なら存在している
✅ unlink():ファイルを削除する
unlink('f1.png'); // 成功すれば true を返す
実用例:配列に入った複数ファイルを順番に削除するコード
以下は、配列に格納されたファイル名(例:["f1.png", "f2.png"])を順番に確認し、存在していれば削除していくコードです。
<?php
$files = ["f1.png", "f2.png"];
foreach ($files as $file) {
if (file_exists($file)) {
if (unlink($file)) {
echo "$file を削除しました。\n";
} else {
echo "$file の削除に失敗しました。\n";
}
} else {
echo "$file は存在しません。\n";
}
}
🔍 解説
$files:削除したいファイル名の配列。file_exists($file):ファイルが存在するかチェック。unlink($file):ファイルを削除。foreach:配列内のすべてのファイルを順番に処理。
よくあるエラーと対処法
❌ Permission denied(パーミッション拒否)
- ファイルの削除権限がない場合に発生します。
- 対処法:対象ファイルやディレクトリのパーミッション(chmod)を確認しましょう。
chmod 755 your-folder
❌ ファイルが存在しないのに削除しようとしている
unlink()だけを使うと、存在しないファイルでエラーになります。- 事前に
file_exists()でチェックするのがベストプラクティスです。
応用:特定ディレクトリの中のファイルを削除したい場合
$files = ["uploads/f1.png", "uploads/f2.png"];
パスを調整すれば、サブディレクトリ内のファイルにも対応できます。
まとめ
PHPで複数ファイルを削除するには、以下のような流れを守ると安全で効率的です。
file_exists()で存在確認unlink()でファイルを削除foreachで複数ファイルを処理
// 実用的なコード再掲
foreach ($files as $file) {
if (file_exists($file)) {
unlink($file);
}
}
これで、不要なファイルを確実に削除できるようになります。
シンプルだけど実用的なPHPスクリプトとして、ぜひ参考にしてみてください!
関連記事
.htaccessは階層で引き継がれる?Apacheの挙動を徹底解説
SEO対策に必須!検索上位を狙うsitemap.xmlの完全ガイド
Google Search Consoleの「代替ページ(適切なcanonicalタグあり)」とは?原因と解決法を徹底解説!
Microsoft純正の新しいコンソールエディタ「edit」が復活!| edit.exe インストール方法
Googleサイト確認のTXTレコードをnslookupで確認する方法【SEO対策】
Googleサーチコンソールに反映されるための最低限のSEO構造とは
git switchの使い方とgit checkoutとの違い
HTMLとJavaScriptモジュールでクラスを定義し、ボタンから呼び出す方法
JavaScriptでTensorFlow.jsを動的に読み込む方法|HTMLに直接書かずに機械学習を実行する
スマホ新法とEU事例|Apple Storeの未来とユーザーへの影響
MariaDB 10.9|INSERT 時だけ自動で日付を入れるカラムを追加する方法
Windows 11でタスクマネージャー以外からアプリを終了させる方法【PowerShell・コマンドプロンプト】
JavaScriptでPCの空き容量やメモリ量を取得できる?Chromeの制限と代替手法
PowerShellでNode.jsの最新バージョン一覧を確認する方法【Volta/Windows対応】
Next.jsでbasePathを/homepage2にしてS3へ静的デプロイする完全手順