пожалуйста, у меня есть следующий массив:
array(3) { [0]=> array(2) { [0]=> string(6) "lkjhgj" [1]=> string(16) "jhgjhg@jhgjj.com" } [1]=> array(2) { [0]=> string(5) "hgjk," [1]=> string(18) "kjhgfghj@dgdfg.com" } [2]=> array(2) { [0]=> string(9) "dddd ffff" [1]=> string(13) "dddd@gmail.fr" } }
Я хочу поместить его в файл csv, поэтому я попытался:
$fichier = 'file.csv'; $fp = fopen($fichier, 'w'); foreach ($list as $fields) { fputcsv($fp, $fields); } fclose($fp); header( 'Content-Type: text/csv' ); header( 'Content-Disposition: attachment;filename='.$fichier);
Но когда я загружаю файл, я нашел его пустым!
Пожалуйста, овладеет идеей? заранее спасибо
PS: Разрешения – 777
$fichier = 'file.csv'; header( "Content-Type: text/csv;charset=utf-8" ); header( "Content-Disposition: attachment;filename=\"$fichier\"" ); header("Pragma: no-cache"); header("Expires: 0"); $fp= fopen('php://output', 'w'); foreach ($list as $fields) { fputcsv($fp, $fields); } fclose($fp); exit();
Если вы сохраняете массив в сеансе и проблемы с закодированными символами.
session_start(); $fp = fopen($_SESSION['CSV']['type'].'.csv', 'w'); foreach ($_SESSION['CSV'] as $fields) { $val1 = htmlspecialchars_decode(utf8_decode(html_entity_decode($fields[0], ENT_QUOTES | ENT_XML1, 'UTF-8'))); $val2 = htmlspecialchars_decode(utf8_decode(html_entity_decode($fields[1], ENT_QUOTES | ENT_XML1, 'UTF-8'))); $val3 = htmlspecialchars_decode(utf8_decode(html_entity_decode($fields[2], ENT_QUOTES | ENT_XML1, 'UTF-8'))); fputcsv($fp, array($val1,$val2,$val3,$val4,$val5)); } fclose($fp);