Выгрузка данных из VK API через PHP. Пример обработки данных

<?php

	//======================================================================
	// Блок 1: Получаем JSON данные от сервера/сервиса/скрипта php и т.д.
	//======================================================================

	$result = array();
        //Счетчик для нового массива
        $resultCount = 0;
	$resultDate = 0;

        $startDate = new DateTime('-2 year');
	$endDate = new DateTime('-1 month');

	$date = clone $startDate;

	while ($date < $endDate) {
		$date->modify('+1 month');
		$datePlus1Day = clone $date;
		$datePlus1Day->modify('+1 day');
		$dateNext = clone $date;
		$dateNext->modify('+1 month');
		$dateArray[$resultDate][0] = $datePlus1Day->format('Y-m-d');
		$dateArray[$resultDate][1] = $dateNext->format('Y-m-d');
		$resultDate++;
	}

	foreach($dateArray as $key => $value){	

		$request_params = array(
			'group_id' => '111111111',
			'date_from' => $value[0],
			'date_to' => $value[1],
			'v' => '5.80',
			'access_token' => '1111111111111111111111111111111111111111111111111111111111111111111111111111111111111'
		);
		$get_params = http_build_query($request_params);
		$result = json_decode(file_get_contents('https://api.vk.com/method/stats.get?'. $get_params), TRUE);

		foreach($result[response] as $key => $value){
			$stat_result[$resultCount]['Дата'] = $value['period_from'];
			$stat_result[$resultCount]['likes'] = $value['activity']['likes'];
			$stat_result[$resultCount]['comments'] = $value['activity']['comments'];
			$stat_result[$resultCount]['copies'] = $value['activity']['copies'];
			$stat_result[$resultCount]['subscribed'] = $value['activity']['subscribed'];
			$stat_result[$resultCount]['unsubscribed'] = $value['activity']['unsubscribed'];
	
			$resultCount = $resultCount + 1;
		}
	}

	//======================================================================
	// БЛОК 2: Печатаем массив в CSV файл, который затем будет скачиваться
	//======================================================================

	// параметр вывода, сделаем так, чтобы файл загружался, а не отображался
	header('Content-Type: text/csv; charset=utf-8');
	header('Content-Disposition: attachment; filename=Активность посетителей.csv');
 
	// создаем указатель файла, подключенный к выходному потоку
	$output = fopen('php://output', 'w');
 
	// Первая строк необходима, чтобы Excel понял, что формат CSV на UTF-8 кодировке
	fwrite($output,b"\xEF\xBB\xBF" ) ;
	
	// Название колонок (заголовки)
	fputcsv($output, array_keys($stat_result[0]), ";");
        
	// Перебираем строки и печатаем в файл csv
	foreach($stat_result as $array2){
        	fputcsv($output, $array2, ";");
	}
	
?> 

Оставить комментарий

avatar
  Подписаться  
Уведомление о