• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ユーザーがcsvファイルを指定して、自動的にmysqlに登録されるよう)

ユーザーがCSVファイルを指定して自動的にMySQLに登録される方法とは?

このQ&Aのポイント
  • ユーザーがブラウザからCSVファイルを指定して自動的にMySQLに登録する方法について悩んでいます。PHPでプログラムを書いているのですが、HTMLのinputタグを使用してユーザーにファイルの指定をしてもらいたいです。しかし、変数の受け渡しやファイルの読み込みがうまくいかず困っています。どのようにすれば上手く実装できるでしょうか?
  • PHPでプログラムを書いていますが、ユーザーがブラウザからCSVファイルを指定して自動的にMySQLに登録する方法がわかりません。HTMLのinputタグを使用してファイルを指定してもらいたいのですが、ファイルの受け渡しや読み込みが上手くいきません。どのようにすれば実装できるでしょうか?
  • PHPを使用している際、ユーザーがブラウザからCSVファイルを指定して自動的にMySQLに登録する方法が分かりません。HTMLのinputタグでファイルを指定してもらうことはできますが、変数の受け渡しやファイルの読み込みが上手くいきません。どのようにすれば実装することができるのでしょうか?

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

ユーザーのローカルファイルをブラウザ経由で抜きたいという話ですか? セキュリティ上無理ですね、早めにあきらめることをお勧めします。 近しいやり方でやるならftpなどでサーバーにアップするなどして 定期処理でmysqlに登録するプログラムを走らせるなどでしょうか より自動にちかくするには場合によってはwsh+IEで処理すれば アイコンワンクリックでなんとかなるかもしれません。

jajianrifu
質問者

お礼

やはりそうですか。 分かりました。 早速のご回答ありがとうございました。

その他の回答 (2)

回答No.3

> HTMLでinput type="file"で出来ると思いきや、変数の受け渡しができず PHP4とPHP5ではファイル名というかファイルの実体の受け渡し方法が変更になっていたと思います。 move_uploaded_file()関数を使うようにしましょう。 私は以下のコードでcsvファイルアップロードとMySqlテーブル登録できました。PHP5.3.1ですが参考になれば。エラー処理、セキュリティ上の処理はもっと必要ですけど省略してます。 ーーーuploadcsv7.php ここからーーー <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>upload csv</title> </head> <body> <FORM enctype="multipart/form-data" action="uploadcsv7.php" method="POST" > <INPUT type="hidden" name="MAX_FILE_SIZE" value="200000"> アップロードするファイル: <INPUT name="UploadFile" type="file" > <INPUT type="submit" value="Up Load CSV File"> </FORM> <?php // DB 1 $link = mysql_connect("hostname", "username", "password"); mysql_select_db("dbmusic", $link); // File Upload $upload = "D:\\upload\\"; $upload .= $_FILES['UploadFile']['name']; $res = move_uploaded_file($_FILES['UploadFile']['tmp_name'], $upload ); if ( $res ) { print "アップロードに成功しました\n"; $fp = fopen($upload, "r"); while( ! feof($fp) ) { $csv = fgets($fp); $csv_array = explode(",",$csv); // DB 2 $sql = sprintf( "INSERT INTO MusicInfo (poemID, poemString, memberName) VALUES( '%d', '%s', '%s' )", $csv_array[0], $csv_array[1], $csv_array[2] ); mysql_query($sql); } } else { print "アップロードに失敗しました\n"; } ?> </body> </html> ーーーここまでーーー

回答No.2

<input type="file"> に関してですが、変数の受け渡しが出来ないというのはどういう状況でしょうか。 http://www.php-labo.net/tutorial/php/upload.html こちらのブログが参考になると思いますが、これで受け渡しが不可能であった、ということですか。 「PHP ファイル アップロード」あたりで検索すれば参考になる資料が色々ありますが、いかがでしょうか。

関連するQ&A