沃梦达 / IT编程 / 前端开发 / 正文

使用PHP代码和HTML表单将excel(.csv)导入MySQL

我知道还有其他类似的帖子,但是每个人都建议直接在PHPMyAdmin中直接进入MySQL(这很有效,但我需要通过HTML表单导入PHP到MySQL.我想有一个收集文件的HTML表单.然后将该文件传递给PHP脚本,我想知道是否可以简单地调用P...

我知道还有其他类似的帖子,但是每个人都建议直接在PHPMyAdmin中直接进入MySQL(这很有效,但我需要通过HTML表单导入PHP到MySQL.

我想有一个收集文件的HTML表单.然后将该文件传递给PHP脚本,我想知道是否可以简单地调用PHP函数将逗号分隔的.csv文件转换为MySQL并将其添加到数据库中.

或者是逐行解析文件并添加每条记录的唯一方法?

解决方法:

我没有对此进行过全面测试,但我认为没有任何理由说它不起作用.

<?php

if ( isset( $_FILES['userfile'] ) )
{
  $csv_file = $_FILES['userfile']['tmp_name'];

  if ( ! is_file( $csv_file ) )
    exit('File not found.');

  $sql = '';

  if (($handle = fopen( $csv_file, "r")) !== FALSE)
  {
      while (($data = fgetcsv($handle, 1000, ",")) !== FALSE)
      {
          $sql .= "INSERT INTO `table` SET
            `column0` = '$data[0]',
            `column1` = '$data[1]',
            `column2` = '$data[2]';
          ";
      }
      fclose($handle);
  }

  // Insert into database

  //exit( $sql );
  exit( "Complete!" );
}
?>
<!DOCTYPE html>
<html>
<head>
  <title>CSV to MySQL Via PHP</title>
</head>
<body>
  <form enctype="multipart/form-data" method="POST">
    <input name="userfile" type="file">
    <input type="submit" value="Upload">
  </form>
</body>
</html>

当然,您需要先验证数据.

本文标题为:使用PHP代码和HTML表单将excel(.csv)导入MySQL