画像関連

【PHP・MySQL】データベースに画像ファイルを保存・表示する方法

 
今回は PHP と MySQL を使って画像ファイルを保存・表示する方法を紹介します。
 


 

はじめに

まずはデモ動画をご覧ください。

【PHP・MySQL】画像を保存・表示する方法 – #1 デモ

 
 
 

主な機能は

  • 画像をデータベースに保存
  • 画像をデータベースから取得して表示
  • Lightbox(画像の拡大表示)
  • 画像の削除

です。
 

PHP と MySQL で画像を保存する方法は、フォルダに画像をアップロードするか、データベースに直接画像を保存するかが一般的です。書籍ではフォルダにアップロードするサンプルが多いのですが、今回はデータベースに直接画像を保存していきます。
 

データベースに直接保存すると、画像を表示するときに一手間かかるのが欠点ですが、名前の重複を考慮する必要もなく削除も簡単になります。
 

データベースには

  • 画像
  • 画像の名前
  • 画像のタイプ(png, jpeg など)
  • 画像のサイズ
  • 画像の登録日

を保存していきます。
 
 

レイアウトには Bootstrap と Font Awesome を使用します。

Bootstrapはフレームワークといい、自分で CSS を書かなくてもボタンやフォーム、スマホ用のレイアウトを簡単に作成することができます。今回は Bootstrap を使って、JavaScript や jQuery のコードを書かずに Lightbox を作る方法も紹介します。
 

画像の削除リンクには Font Awesome という無料のアイコンを使います。1500個もの無料のアイコンを簡単に使うことができるので、ウェブアプリ開発には欠かせません。使ったことがない方は、ぜひ知っておくと便利だと思います🙂

 
 

全ての手順を紹介していますので、PHP初心者の方もぜひ作ってみてください!
 
 

開発環境

MAMP / PHP version7.2.10
テキストエディタCoda2
ブラウザGoogle Chrome

 
 

メニュー(全5回)

第1回「HTMLの作成」
第2回「データベースの用意」
第3回「画像を保存する」
第4回「画像を表示する」
第5回「画像を削除する」
 
 

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

 
独学でプログラミングを勉強するのは難しそう、効率的にプログラミングを学びたいという方はオンラインスクールがオススメです。

オンラインスクールを選ぶときのポイント

  • 無料体験があること
  • 個別サポートがあること

自分にあったスタイルを見つけるために、無料体験のご利用をオススメします。(無料体験後に自分には合わないなと感じたらハッキリ断ってしまって問題ありません!)
 
個別サポートもプログラミング学習に挫折しないために重要なポイントです。エラーや困った時にすぐに個別対応をしてくれるスクールを利用して下さい。

ここでは3つのオンラインスクールを紹介します。
全て無料体験がありますので、ぜひ自分に合ったスクールを見つけてみて下さい🙂
 

1. TechAcademy(テックアカデミー)

オンライン完結で勉強できるスクールで、コースがとても充実しています。チャットで質問すればすぐに回答を得られるのが一番のおすすめポイントです。
オリジナルのサービスやアプリの開発もサポートしてくれるので、開発したいものが決まっている人にもオススメです。

無料体験はこちら

2. CodeCamp(コードキャンプ)

一対一で受講できる個別指導のプログラミングスクールです。
Webデザイン・Webサービス開発・アプリ開発などを幅広く学習することができます。
マンツーマンなので自分のペースで学習できて、質問もその都度できるのがメリットです。

無料体験レッスンはこちら

3. Treehouse

英語でも良い、英語とプログラミングを同時に勉強したいという方は Treehouse がオススメです。月25ドルで始めることができて、たくさんのプログラミング言語を学ぶことができます。
個別サポートはありませんが、掲示板が充実しています。ほとんどの場合、質問してから30分程度で回答を得ることができます。

7日間の無料体験はこちら

COMMENT

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