• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:CSVで画像をDBにつっこみたい)

CSVで画像をDBにつっこみたい

このQ&Aのポイント
  • PHP+MySQLで名刺の管理ソフトを作成中。名刺の画像もBLOBでデータとして保存している。CSVでの画像のインサート方法を検討中。
  • 対応検討として、CSVでバイナリを扱える方法を探すか、パスだけCSVに指定して画像をPHPでバイナリ化しインサートする方法、CSVにファイル名だけ記載してzipしてアップし解凍してインサートする方法が考えられる。
  • ファイルDIRを作って画像ファイルを置き、CSVにはパスだけ記載する方法もあるが、今回は対象外としている。

質問者が選んだベストアンサー

  • ベストアンサー
  • tecinfo
  • ベストアンサー率52% (32/61)
回答No.1

こんにちは。 難しい問題ですね。 > ・ファイルDIRを作ってファイルを置き、CSVにはパスだけ記載。 エンドユーザの利便性を図るために、FTPやSSHは使えないといったところでしょうか? 一件一件のデータインサート時は、どのようにやっているのでしょうか。 CSVにはファイル名だけ記載してもらって、CVSファイルと同じページ(あるいは、同じフロー)で画像ファイルを別にアップロードしてもらうのはダメなのでしょうか。 あとは、使えるのか分かりませんが、zip関数(http://jp2.php.net/manual/ja/ref.zip.php), zlib圧縮関数(http://jp2.php.net/manual/ja/ref.zlib.php)なるものがあるようです。 PHPの再インストールが必要ですが、execを許可するよりは安全かと思います。 あまり参考にならない回答でごめんなさい。

nyalio
質問者

補足

tecinfoさん 早速のアドバイスありがとうございます。 名刺の管理という点で、事務の方が使うことが想定されています。 一般的にFTPなどはやはり直接ファイルをいじる開発などが使うものですし、万が一の事態(誤って削除など)を極力避けるためにも、 CSVで穏便にアップロードするのが望ましいという状態です。 一件一件の場合は、すでにweb上でフォームを作っていまして、そこで画像をinput type="file"であげてもらって、いったんtmpフォルダに入れたものをバイナリ化してインサートという仕様です。 >CSVにはファイル名だけ記載してもらって、CVSファイルと同じページ(あるいは、同じフロー)で画像ファイルを別にアップロードしてもらうのはダメなのでしょうか。 こちらに関してですが、これも検討中です。ただ、CSVの利点としては、一括でデータを投入できるというのがありますので、別に個別に画像を登録、となると、面倒なのと、人為的なミスも考えられます(それを言ってしまうとキリがないのですがorz) zip関数はexecよりは(安全性などに関しては)魅力的ですね。じっくり見てみたいと思います。ありがとうございます。

関連するQ&A

専門家に質問してみよう