Я хочу создать и загрузить CSV-файл в одном скрипте.Создайте и загрузите CSV-файл в одном скрипте
До сих пор я избегал недостатка знаний, предварительно создавая файл с заданием cron, а затем загружая файл по ссылке.
У меня есть это:
$conn = new mysqli($dbhost, $dbuser, $dbpass, $dbname) or die ('Error connecting to mysql');
$get_members_csv_query = "SELECT * FROM members";
$get_members_csv_result=$conn->query($get_members_csv_query, MYSQLI_STORE_RESULT);
$all_members_array = array();
while ($get_members_csv_array = $get_members_csv_result->fetch_assoc())
{
array_push($all_members_array, $get_members_csv_array);
}
$file = fopen('members.csv', 'w');
fputcsv($file, array('email', 'First Name', 'Surname', 'Gender','DOB','Registered On','Country','paid','Children','Wants Kids','Relationship','Body Type','Height','Smoke','Drink','Phone','Region','Religion','Community'));
foreach ($all_members_array as $row) {
fputcsv($file, $row);
}
exit();
Это успешно создает файл, но то, что мне нужно сделать, чтобы добавить в сценарий, чтобы он автоматически скачивает файл CSV после создания?
Я попытался положить это в самом начале, если сценарий:
header("Content-type: text/csv");
header("Content-Disposition: attachment; filename=members.csv");
header("Pragma: no-cache");
header("Expires: 0");
Но он загружает файл до того, как скрипт завершает (или даже начинается) создания файла.
Я попытался положить заголовки в конце скрипта и использовать ob_start() наверху - тот же результат.
Благодаря
См. Это [Вопрос] (http://stackoverflow.com/questions/25498403/exporting-data-from-database-in-php-and-the-file-format-for-excel-export-should/25498691 # 25498691) –