Например, у меня есть URL-адрес из листов Google, который экспортирует лист в файл CSV:
https://docs.google.com/spreadsheets/d/{key}/gviz/tq?tqx=out:csv&sheet={sheet_name}
Я хочу, чтобы какой-то механизм обрабатывал внешний файл CSV для вставки в таблицу в MySQL.
У меня нет ни малейшего представления о том, с чего начать.
Обновление 25/03/2019: это мой последний прогресс, благодаря некоторым ответам! Я все еще должен получить CSV в MySQL.
<?php
$conn = new mysqli($servername, $username, $password, $dbname);
$array = str_getcsv(file_get_contents("https://docs.google.com/spreadsheets/...."));
var_dump($array);
$name = tempnam('/','csv');
$fp = fopen($name, 'w');
// $array = str_replace('"', '', $array);
fputs($fp, implode($array, ',')."\n");
$sql = "DELETE FROM conceptos";
$result = $conn->query($sql);
$sql = "LOAD DATA LOCAL
INFILE '$name' INTO TABLE conceptos FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES";
fclose($fp);
?>
Сейчас я создаю временный файл, чтобы попытаться использовать LOAD DATA, однако я получаю разные ошибки, такие как File not found, я смог увидеть это только из командной строки, а не напрямую из моего php-кода.
Это звучит как 3 шага для меня.
Разобрать так:
<?php
$Data = str_getcsv($CsvString, "\n"); //parse the rows
foreach($Data as &$Row) $Row = str_getcsv($Row, ";"); //parse the items in rows
?>
Удачи!