Я пытаюсь использовать API экспорта Mailchimp для создания CSV-файла всех членов данного списка. Вот documentation и пример кода PHP они дают:Создайте CSV из данных, возвращаемых из API
$apikey = 'YOUR_API_KEY';
$list_id = 'YOUR_LIST_ID';
$chunk_size = 4096; //in bytes
$url = 'http://us1.api.mailchimp.com/export/1.0/list?apikey='.$apikey.'&id='.$list_id;
/** a more robust client can be built using fsockopen **/
$handle = @fopen($url,'r');
if (!$handle) {
echo "failed to access url\n";
} else {
$i = 0;
$header = array();
while (!feof($handle)) {
$buffer = fgets($handle, $chunk_size);
if (trim($buffer)!=''){
$obj = json_decode($buffer);
if ($i==0){
//store the header row
$header = $obj;
} else {
//echo, write to a file, queue a job, etc.
echo $header[0].': '.$obj[0]."\n";
}
$i++;
}
}
fclose($handle);
}
Это хорошо работает для меня, и когда я запускаю этот файл, я в конечном итоге с кучей данных в этом формате:
Email Address: [email protected]
Email Address: [email protected]
Email Address: [email protected]
Я хочу сделать это в CSV (чтобы перейти к месту на моем сервере) вместо echo
данных. Есть ли библиотека или простой синтаксис/snippit, который я могу использовать, чтобы это произошло?
Это идеальное начало. Благодарю. Можете ли вы порекомендовать библиотеку, которая может взять строку и создать файл CSV? Я охотился и пробовал несколько, но не могу заставить его работать. – jonmrich
Вам не нужна библиотека для записи строки в файл. Попробуйте это: $ filename = "data" .date ("m.d.y"). ". Csv"; file_put_contents ($ filename, $ csvOutput); (См. Последние две строки фрагмента кода) Ссылка на функцию PHP file_put_contents: http://php.net/manual/en/function.file-put-contents.php –