2015-03-14 4 views
0

Итак, у меня есть метод захвата информации. Эта часть не трудно:Разбор не-excel файла excel

<?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.

ответ

0

Получить первую строку 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 удалит все пробельный (так как ваши колонки заканчиваются разделителем трубы), таким образом, вы не до конца с «пустыми» столбцами в результирующем массиве.

Смежные вопросы