mirror of
https://github.com/ConnectedHumber/Air-Quality-Web
synced 2024-12-22 10:25:01 +00:00
32 lines
623 B
PHP
32 lines
623 B
PHP
|
<?php
|
||
|
|
||
|
namespace SBRL;
|
||
|
|
||
|
/**
|
||
|
* Serialises an object to a variety of formats.
|
||
|
*/
|
||
|
class ResponseEncoder
|
||
|
{
|
||
|
/**
|
||
|
* Encodes an array of associative arrays to CSV.
|
||
|
* @param array $data The data to encode.
|
||
|
* @return string The data encoded to csv.
|
||
|
*/
|
||
|
public static function encode_csv($data) {
|
||
|
if(empty($data))
|
||
|
return "";
|
||
|
|
||
|
$result = fopen('php://temp/maxmemory:'. (5*1024*1024), 'r+');
|
||
|
fputcsv($result, array_keys($data[0]));
|
||
|
foreach($data as $row)
|
||
|
fputcsv($result, array_values($row));
|
||
|
rewind($result);
|
||
|
|
||
|
$response = \stream_get_contents($result);
|
||
|
|
||
|
fclose($result);
|
||
|
|
||
|
return $response;
|
||
|
}
|
||
|
}
|