ホームページ  >  記事  >  バックエンド開発  >  PHP は CVS を MySql にインポートします

PHP は CVS を MySql にインポートします

WBOY
WBOYオリジナル
2016-07-25 08:46:13958ブラウズ
  1. $databasehost = "localhost";
  2. $databasename = "テスト";
  3. $databasetable = "サンプル";
  4. $databaseusername ="テスト";
  5. $databasepassword = "";
  6. $ fieldseparator = ",";
  7. $lineseparator = "n";
  8. $csvfile = "filename.csv";
  9. /********************************/
  10. /* これらの先頭に空のフィールドを追加しますか? records?
  11. /* これは、最初のフィールドが auto_increment 整数であるテーブルがあり、CSV ファイルにレコードの前に空のフィールドがない場合に便利です
  12. /* はいの場合は 1、いいえの場合は 0 を設定します。 。注意: よくわからない場合は 1 に設定しないでください。
  13. /* この追加フィールドがテーブルに存在しない場合、間違ったフィールドにデータがダンプされる可能性があります
  14. /********************************/
  15. $addauto = 0;
  16. /********************************/
  17. /* mysql クエリをファイルに保存しますか? 「はい」の場合、$save を 1 に設定します。
  18. /* ファイルのアクセス許可を 777 に設定する必要があります。ftp 経由でサンプル ファイルをアップロードし、
  19. /* アクセス許可を変更するか、プロンプトで次のコマンドを実行します: touch Output.sql && chmod 777 Output .sql
  20. /********************************/
  21. $save = 1;
  22. $outputfile = "output.sql";
  23. /********************************/
  24. if (!file_exists($csvfile)) {
  25. echo 「ファイルが見つかりません。正しいパスを指定していることを確認してください。n」;
  26. exit;
  27. }
  28. $file = fopen($csvfile,"r");
  29. if (!$file) {
  30. echo "開くエラーデータ file.n";
  31. exit;
  32. }
  33. $size = filesize($csvfile);
  34. if (!$size) {
  35. echo "ファイルは空です。n";
  36. exit;
  37. }
  38. $csvcontent = fread($file,$size);
  39. fclose($file);
  40. $con = @mysql_connect($databasehost,$databaseusername,$databasepassword) または die(mysql_error());
  41. @mysql_select_db($databasename)または die(mysql_error());
  42. $lines = 0;
  43. $queries = "";
  44. $linearray = array();
  45. foreach(split($lineseparator,$csvcontent) as $line) {
  46. $行++;
  47. $line = トリム($line," t");
  48. $line = str_replace("r","",$line);
  49. /**********************************
  50. この行は特殊文字をエスケープしています。 CSV ファイル内でエントリが既にエスケープされている場合は削除してください
  51. ******************************************
  52. これ行は特殊文字をエスケープします。 CSV ファイル内でエントリが既にエスケープされている場合は削除します
  53. ****************************************/
  54. $line = str_replace("'","'",$line);
  55. /&**** ****/
  56. $linearray =explode($fieldseparator,$line);
  57. $linemysql = implode("','",$linearray);
  58. if($addauto)
  59. $query = "挿入$databasetable value('','$linemysql');";
  60. else
  61. $query = "$databasetablevalues('$linemysql');";
  62. $queries .= $query に挿入します。 "n";
  63. @mysql_query($query);
  64. }
  65. @mysql_close($con);
  66. if ($save) {
  67. if (!is_writable($outputfile)) {
  68. echo "ファイルはありません書き込み可能です。権限を確認してください。n";
  69. }
  70. else {
  71. $file2 = fopen($outputfile,"w");
  72. if(!$file2) {
  73. echo "出力ファイルへの書き込みエラー。n";
  74. }
  75. else {
  76. fwrite($file2,$queries);
  77. fclose($file2);
  78. }
  79. }
  80. }
  81. echo "この csv ファイルで合計 $lines レコードが見つかりました。n";
?>
复制代

导入到、PHP、CVS


🎜
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。