mysqlに画像を保存するプログラム[php]
mysqlで画像扱うphpプログラムを作成しました。(動作確認済み
プログラムを扱う際のデータベースの設定も記述します。これで、mysqlで画像をバッチリ扱えるようになると思います。
プログラム内容
- 画像をデータベースに保存するプログラム
- データベースから画像を呼び出し、表示するプログラム
プログラムを利用するための設定
データベースの設定
ホスト名 | データベース名 | テーブル名 | ユーザ名 | パスワード |
---|---|---|---|---|
localhost | test_field | img_table | root | なし |
テーブルの設定
こんな内容のテーブルをphpMyAdminを使うなどして作成してください。
各カラムの役割 | id_col(画像の管理番号) | img_col(画像の格納) |
---|
ここで画像を保存する際にmediumblobを今回は用いていますが、データベースで扱う画像のサイズによってここは変える必要があります。
扱う画像のサイズと種別の対応表
種別 | 最大のサイズ |
---|---|
TINYBLOB | 256 byte |
BLOB | 64 KB |
MEDIUMBLOB | 16 MB |
LONGBLOB | 4 GB |
これで、データベースの設定は終わりです。次にプログラムを利用してみましょう。
プログラムの利用
set_img.php(画像をデータベースに保存するプログラム
<?php //データベースに接続する変数名を宣言しておく define( 'DB_HOST', 'localhost' ); define( 'DB_USER', 'root' ); define( 'DB_PASS', '' ); define( 'DB_NAME', 'test_field' ); //データベースに接続する $db_link = mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME); //取得する画像のリンク $img_url = 'http://cdn-ak.f.st-hatena.com/images/fotolife/m/mekori/20130503/20130503074329.jpg'; // 画像の取得 $img_file = file_get_contents( $img_url ); //画像取得が成功した場合 if($img_file){ //画像をバイナリに変換 $img_binary = mysqli_real_escape_string( $db_link, $img_file ); //画像を保存するSQL文の実行 $result = mysqli_query( $db_link, 'INSERT INTO img_table (img_col) VALUES ( "'.$img_binary.'" )'); //結果の表示 if($result){echo "画像をデータベースに保存しました。";}else{ echo "保存できませんでした。"; } } ?>
view_img.php(データベースから画像を呼び出し表示するプログラム
<?php //データベースに接続する変数名を宣言しておく define( 'DB_HOST', 'localhost' ); define( 'DB_USER', 'root' ); define( 'DB_PASS', '' ); define( 'DB_NAME', 'test_field' ); //下の2つの関数を使い、id_colが1の画像を表示する。 CallImg(1); //指定したid_colを持つ画像を表示する関数 function CallImg($id_col_num){ echo '<img src="'.ImgSearchDB($id_col_num).'">'; } //データベースから、指定したid_colを持つimageファイルを検索する関数。 function ImgSearchDB($id_col_num){ //データベースへ接続する $db_link = mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME); //指定したidのimgを検索 $serch_query = mysqli_query($db_link,"SELECT * FROM `img_table` WHERE `id_col` ='".$id_col_num."'"); $row = mysqli_fetch_array($serch_query); header( 'Content-Type: image/jpeg' ); echo $row['img_col']; $close_flag = mysqli_close($db_link); } ?>
「統計が最強の学問である」のレビュー
最近ビッグデータやデータマイニング等が流行っているようなので、それに関係しそうな「統計学が最強の学問である」を読んでみました。
主な内容
統計学をデータマイニングとして実際に用いる方法や、例などの紹介を期待していたのですが、主な内容は
ということで、統計学をある程度噛ったことのある人が読み物として読むとしたら楽しい内容だと思います。これを読んで統計学の勉強をしようという人には全くオススメしません。なぜならば、作中で紹介される統計的手法の用例が極端すぎ、また手法の数学的説明がほぼ無いのでふむふむと思って読んでも実際に分析を使用する際には躓くと思われます。そして、内容が作者の専攻していた生物統計学に偏り過ぎに感じました。
スタンスや歴史的理解も話としては面白いのですが、分析の際には割とはどうでもいい事なので、パラパラっと購入前に読んだ時に目についた図が綺麗だったことやタイトルに騙された感が否めません。最後まで統計学が最強の学問である理由もよく分かりませんでしたし…。期待していた分、批判的になってしまいましたが知って良かった点も幾つかあったので紹介したいと思います。
良かった点
- 様々ある統計分析ソフトの名前と解説が一覧表となっていて、各ソフトが得意とすることが分かる。
- サンプル数を4000人から8000人と倍にしても、推定精度がたった1%しか向上しないということ
- 一般化線形モデルをまとめた表で、各分析の関係性が分り易く説明されている
気になった点
- 因子分析の説明をしているつもりでしょうが、説明内容が主成分分析になっています。他の統計学の本で間違えているのを見たことが無いのですが…
- データマイニングの話をするなら、多変量解析の話を詳しくして欲しかった。
- ランダムの話を哲学的な所まで掘り下げているが、正直どうしようもないよねと思った。
- 研究の紹介をするならば、論文を引用して欲しい
まとめると、他にもっと統計学の良い本があると言えます。
統計学を理解するには大村平さんの本が簡単でおすすめです。
実践的に分析してみる場合は統計局やビッグデータを公開している所からデータを拾ってきて、R関連の書籍を読んで実践したほうがいいと思います。
統計のはなし―基礎・応用・娯楽 (Best selected business books)
- 作者: 大村平
- 出版社/メーカー: 日科技連出版社
- 発売日: 2002/05
- メディア: 単行本
- 購入: 25人 クリック: 386回
- この商品を含むブログ (18件) を見る
多変量解析のはなし―複雑さから本質を探る (Best selected Business Books)
- 作者: 大村平
- 出版社/メーカー: 日科技連出版社
- 発売日: 2006/08
- メディア: 単行本
- 購入: 12人 クリック: 62回
- この商品を含むブログ (8件) を見る
- 作者: 西内啓
- 出版社/メーカー: ダイヤモンド社
- 発売日: 2013/01/25
- メディア: 単行本(ソフトカバー)
- 購入: 11人 クリック: 209回
- この商品を含むブログ (64件) を見る
はてなブログで画像を中央揃えにする方法
はてなブログで画像を中央揃えにしようと思ったところ、画像が全画面?的なもの以外中央揃えにならず、縮小化すると左揃えになりバランスが悪いということで、その解決方法をメモ