Итак, у меня есть метод сбора информации. Эта часть не сложная:
<?php
$aid = file_get_contents(http://www.cybernations.net/assets/CyberNations_SE_Aid_Stats_3132015520002.zipl);
$war = file_get_contents(http://www.cybernations.net/assets/CyberNations_SE_War_Stats_3132015525002.zip);
$nation = file_get_contents(http://www.cybernations.net/assets/CyberNations_SE_Nation_Stats_3132015510002.zip);
?>
То, с чем у меня много проблем, — это выяснить, как взять эту информацию и проанализировать то, что я хочу. Это файл Excel, сохраненный в формате .txt, и мне нужно взять столбцы и поместить их в таблицу SQL. Когда у меня есть столбцы, я могу обрабатывать часть SQL.
Получить первую строку CSV, используя что-то вроде substr($aid, 0, strpos($aid, "\n"))
,
strpos($aid, "\n")
найдет первое вхождение символа новой строки (\ n). Затем вы получаете подстроку от начала строки до этого символа, которая будет возвращать первую строку вашей строки.
Оттуда вы можете использовать explode()
разделить строку на массив имен столбцов, используя разделитель каналов, присутствующий в ваших файлах.
Пример:
<?php
$aid = file_get_contents('http://www.cybernations.net/assets/CyberNations_SE_Aid_Stats_3132015520002.zip');
$war = file_get_contents('http://www.cybernations.net/assets/CyberNations_SE_War_Stats_3132015525002.zip');
$nation = file_get_contents('http://www.cybernations.net/assets/CyberNations_SE_Nation_Stats_3132015510002.zip');
$aid_columns = array_filter(explode("|", substr($aid, 0, strpos($aid, "\n"))));
?>
array_filter
удалит все пробелы (так как ваши столбцы заканчиваются разделителем канала), таким образом, вы не получите «пустые» столбцы в результирующем массиве.
Других решений пока нет …