Створити та завантажити CSV на PHP

Приклад створення CSV з роздільником рядка ";"

Разделитель CSV

Код:

// 1
$fp = fopen('./fileName.csv', 'w');
if ($fp === false) {
// 2
exit('Can not create file (No Rights) ./fileName.csv');
}

// 3
$models = [
[
'name' => 'Visa',
'type' => 'Card',
'balance' => '10.0'
],
[
'name' => 'Master',
'type' => 'Card',
'balance' => '0'
]
];

// 4
fwrite($fp, '"Имя";"Тип";"Баланс"' . "\n");
foreach ($models as $v) {
fwrite($fp, '"' . $v['name'] . '";"'
. $v['type'] . '";"'
. $v['balance'] . '"'
. "\n");
}

// 5
fseek($fp, 0);
fclose($fp);

// 6
$data = file_get_contents('./fileName.csv');

// 7
header('Content-Type: text/csv'); // 7.1
header('Content-Disposition: attachment; filename="fileName.csv"'); // 7.2
header("Content-Transfer-Encoding: binary"); // 7.3
header('Expires: 0'); // 7.4
header('Pragma: no-cache'); // 7.5
header("Content-Length: ".strlen($data)); // 7.6

// 8
exit($data);

Примітка :

Щоб спрацювали header, перед спрацюванням коду не повинно бути BOM та будь-якого виведення інформації.

1 - Створюємо файл fileName.csv у корені сайту для запису.

2 – Попереджаємо про помилку, якщо немає прав на запис.

3 - Масив значень, який ми оброблятимемо

4 - Запис у файл. '"Ім'я "; " Тип";"Баланс"' . "\n" (";" - роздільник рядка, "\n" - перенесення рядка).

5 - Повертаємо покажчик на початок файлу та закриваємо файл (зберігаємо).

6 – Зчитуємо файл заново.

7 - Даємо заголовки для можливості завантажити файл.

7.1 – Параметр визначальний тип файлу.

7.2 – Покажчик на прикріплення файлу.

7.3 - В якому вигляді передавати (у даному випадку у бінарному).

7.4, 7.5 - Покажчик, щоб не кешувати файл і постійно віддавати актуальний.

7.6 – Розмір контентної частини файлу.

8 - Виводимо інформацію, яка у зв'язці із заголовками дасть можливість завантажити її у CSV файл.

Результат:

Результат CSV

868 0

Відгуки

Поки немає жодного відгуку. Станьте першим!
Тільки авторизовані користувачі можуть залишати відгуки Вхід

Схожі статті

Шаблони ImageCMS 4.10-4.12.1

Останні шаблони від ImageCMS 4.12, для завантаження потрібна авторизація.

Довге зберігання кошика в інтернет-магазині

Розглянемо варіанти популярних варіантів зберігання товарів у кошику в інтернет-магазині. Позначимо плюси та мінуси таких зберігання. Розглянемо варіанти довгострокового зберігання корзини.