• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPを使ってcsvファイルアップロードページ)

PHPを使ったCSVファイルアップロードページの実装方法とサンプルページの検索方法

このQ&Aのポイント
  • CSVファイルを選択し、PHPを使ってMySQLにデータを保存するCSVファイルアップロードページを作りたいと思っています。しかし、検索しても希望するページにたどり着けません。自分では実装が難しいため、参考になるページやサンプルページを教えてほしいです。
  • CSVファイルアップロードページをPHPで実装する方法や参考になるページ、サンプルページを教えてください。CSVファイルを選択する参照ボタンと、選択したファイルをインポートボタンでMySQLに保存する仕組みを構築したいですが、検索しても望んでいる情報が見つかりません。
  • PHPでCSVファイルを選択し、インポートする機能を持つページを作成したいです。しかし、検索しても求めている情報を見つけることができません。自分の技術では実装が難しいため、実装方法や参考になるページを教えていただけませんか?

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

  • ベストアンサー
回答No.1

やりたい「しくみ」そのものは珍しいものではないと思いますが、それをすべて一括で行うような方法を教えてくれるようなサイトはないでしょうね。実際のステップに分解して、それぞれについて検索してみましょう。 その操作は次の3つのステップで行えると思います。 1. フォームからのファイルのアップロード 2. CSVファイルの解釈 (文字列の塊から配列に変換) 3. MySQLへの配列のインサート まず、ステップ1については"PHP フォーム アップロード"などで検索するといくつかやり方が見つかります。 http://www.php-labo.net/tutorial/php/upload.html http://php.net/manual/ja/features.file-upload.post-method.php この操作でフォームで指定したファイルの複製がサーバーの特定のディレクトリーに作られます。 CSVファイルを保存する必要がないなら、move_uploaded_fileは不要かもしれません。 作業の前に一応、move_uploaded_fileのマニュアルにも目を通します。 http://php.net/manual/ja/function.move-uploaded-file.php ステップ2では"php csv 読み込み"で検索すると、fgetcsvというのがあることがわかります。 http://shoyu-ramen23.jugem.jp/?eid=70 http://codaholic.org/?p=287 念の為に、fgetcsvのマニュアルにも目を通します。 http://php.net/manual/ja/function.fgetcsv.php マニュアルによると、システムのロケールによってファイルの文字コードが考慮されるようですが、どうもそれはうまく動いていないようなので次を参考にして文字コードの変換をしてからCSVの解釈をします。 http://www.php.net/manual/ja/function.fgetcsv.php#100168 (MySQLに保存する場合の文字コードも当然考慮する必要があります。) 一応、ここで出てきたfile-get-contentsについても調べます。 http://php.net/manual/ja/function.file-get-contents.php これで、一行ずつCSVファイルを読む方法がわかったので、ステップ3でMySQLへの保存方法を考えます。 ステップ3では、"PHP MySQL insert"で検索します。 MySQLについて調べるときは保存と書くよりも実際に行いたいSQLの操作を書いたほうが適切なものが見つかるでしょう。 http://memopad.bitter.jp/w3c/php/php_mysql_insert.html というわけで、mysql_connectでMySQLに接続して、mysql_select_dbでDBを選び、mysql_queryでinsert命令を発行してデータを書き込み、mysql_closeで接続終了すれば良いことがわかりました。 一応、mysql_connectなどやMySQLのinsert文の文法も調べます。 http://php.net/manual/ja/function.mysql-connect.php http://dev.mysql.com/doc/refman/4.1/ja/insert.html ...と、mysql_connectは非推奨のようなので、推奨されているmysqliを使うことにします。 http://php.net/manual/ja/book.mysqli.php とりあえず、使い方の流れはこのページでわかるようです。 http://www.php.net/manual/ja/mysqli.quickstart.statements.php 以上で、ご希望の機能を実装するための網羅的な知識が手に入ると思います。 あとはPHPにmysqli拡張をインストールする方法やMySQLがそもそもインストールされているかという部分が残りますが、それも検索するとやり方が出てくると思います。

rabbit-kimura
質問者

お礼

ありがとうございました!!

rabbit-kimura
質問者

補足

すごく丁寧にありがとうございます!!!!!!!!!!!!!!! ステップ1、2のしくみがどうも理解できてなかったようなので・・・ 早速やってみます!!

関連するQ&A