Разбор загруженного файла CSV и сохранение данных в базе данных - PullRequest
2 голосов
/ 16 марта 2010

Я хочу следующую функциональность используя php

У меня есть CSV-файл. Каждый файл соответствует строке в моей базе данных

Существует HTML-форма, которая позволит мне выбрать файл CSV.

Затем, когда форма отправлена, я должен проанализировать файл csv и вставить данные в базу данных соответственно

Как мне это сделать?

1 Ответ

9 голосов
/ 16 марта 2010

Чтение CSV-файла обычно можно выполнить с помощью функции fgetcsv (в зависимости от типа CSV-файла может потребоваться указать разделитель, разделитель, ... в качестве параметров )

Что означает, что построчно просматривать ваш файл будет не сложнее, чем что-то вроде этого:

$f = fopen('/path/to/file', 'r');
if ($f) {
    while ($line = fgetcsv($f)) {  // You might need to specify more parameters
        // deal with $line.
        // $line[0] is the first column of the file
        // $line[1] is the second column
        // ...
    }
    fclose($f);
} else {
    // error
}

(не тестировалось, но пример, приведенный на странице справочника fgetcsv , должен помочь вам начать работу)

Конечно, вам нужно будет получить правильный путь к загруженному файлу - см. $_FILE superglobal и раздел Обработка загрузки файлов , для получения дополнительной информации об этом.

И, чтобы сохранить данные в вашей базе данных, вы должны будете использовать API, который подходит вашему ядру БД - если вы используете MySQL, вы должны использовать либо:

  • MySQLi
    • Обратите внимание, что вы должны предпочесть mysqli вместо старого mysql расширение (которое не поддерживает функции, добавленные в MySQL> = 4.1)
  • или PDO
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...