Код аутентификации Используется из ответа Ariful Islam
$https_user = "user_name";
$https_password = "password";
$opts = array('http' =>
array(
'method' => 'GET',
'header' => "Content-Type: text/xml\r\n".
"Authorization: Basic ".base64_encode("$https_user:$https_password")."\r\n",
'content' => $body,
'timeout' => 60
)
);
После аутентификации вы должны попробовать функцию array_combine , которая создаст массив с ключами, содержащими имена полей и значения, содержащие fielddata для таблицы Mysql. Код будет иметь вид:
$fileUrl = 'https://lilly-digital.com/test/summary.txt';
$delimiter=',';
$header = NULL;
$data = array();
if (($handle = fopen($fileUrl, 'r')) !== FALSE){
while (($row = fgetcsv($handle,0, $delimiter)) !== FALSE)
{
if(!$header)
$header = $row;
else
$data[] = array_combine($header, $row);
}
fclose($handle);
}
Результат будет похож на следующий
Array
(
[0] => Array
(
[Contest ID] => 2
[Contest Title] => U.S. Representative, Dist I - D
[Contest Seq Nbr] => 2
[Contest Type] => OF
[Contest Party] =>
[Absentee Mail Blank Votes] => 0
[Absentee Walk-in Blank Votes] => 0
[Election Blank Votes] => 0
[Absentee Mail Over Votes] => 0
[Absentee Walk-in Over Votes] => 0
[Election Over Votes] => 0
[Registered Voters] => 795248
[Total Precincts] => 115
[Counted Precincts] => 0
[Candidate ID] => 9
[Candidate Name] => CASE, Ed
[Candidate Seq Nbr] => 1
[Candidate Party] =>
[Absentee Mail Votes] => 0
[Absentee Walk-in Votes] => 0
[Election Votes] => 0
[Total Votes] => 0
)
[1] => Array ... so on
Чтобы вставить в базу данных, вам необходимо использовать следующий код
$fields = implode("','",$header);
$fields = "'".$fields."'";
foreach($data as $key => $value) {
$value = implode("','",$value);
$value = "'".$value."'";
$sql = "INSERT INTO TABLENAME ($fields) VALUES ($value)";
}
Примечание. Настоятельно рекомендуется использовать Mysql Подготовленный отчет . Вы можете использовать приведенный выше лог c при его реализации.