画像関連

【PHP・MySQL】データベースに画像ファイルを保存・表示する方法  第5回「画像を削除する」

ここまでの記事はこちら
 

今回は最後の総仕上げです。データベースに登録した画像を削除できるようにしていきましょう。

 


 

 

動画

【PHP・MySQL】画像を保存・表示する方法 – #6 画像を削除する

 
 

解説

削除リンクの変更

list.php の削除リンクを 9 ~ 11 行目のように変更します。

 
 

9行目

<a href="javascript:void(0);" 

ここでは、「削除」をクリックした時に何も起こらないように a タグのリンクを無効にしています。

 
 

10行目


 

「削除しますか?」という確認アラートを出して、「OK」が押されたら delete.php に移動するという処理を書いています。

少し複雑そうに見えますが、以下の 4 行を 1 行にまとめているだけです。

var ok = confirm('削除しますか?');
if (ok) {
 location.href='delete.php?id=<?= $images[$i]['image_id']; ?>';
}

 

「キャンセル」が押された場合は何も処理を実行しません。
 
 

画像を削除する

次に画像削除の処理を書く delete.php ファイルを作成します。

delete.php という名前でファイルを作成して、以下のようにコードを書きます。

 
image.php と同じように image_id を受け取とり、その image_id をもとにデータを削除します。

削除したら list.php に遷移して完了です。

 
 

まとめ

これで全て完成です!

画像を扱うウェブアプリを開発するときは、今回のように画像をデータベースに保存するか、画像ファイルをフォルダにアップロードして使うか迷うところです。

プロジェクトによりますが、私が開発するときは

  • 画像が mediumblob 型で保存できるサイズである
  • ユーザーのプロフィール画像・アイコンなど、特定のユーザーとリンクしている画像である
  • 画像投稿が複数のユーザーから同時に行われる可能性が高い

場合は、データベースへ直接保存する方法をとるようにしています。
 

どちらが良い・悪いというものではないので、ご自身のプロジェクトに合わせてお選びください🙂
 
 

このプロジェクトのサンプルコードは「DOWNLOAD」ボタンから一括でダウンロードできます。

 

ABOUT ME
Sara
Sara
「わかりやすく・シンプル」をモットーに、携帯アプリ・ウェブアプリの作り方を紹介します。 独学でプログラミングを勉強をしている方、基礎は勉強したけれど次に何をすれば良いか分からない...という方のお役に立てるサイトを目指しています🙂

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です