Меню Закрыть

Php запись в csv

Содержание

Пример как преобразовать массив в CSV и сохранить его диске или отдать на скачивание.

Имеем массив $prods :

Также массив можно заполнить данными из БД:

Преобразуем массив в CSV с помощью функции fputcsv() , в качестве разделителя используется ; .

Отдача файла на скачивание

Сохранение файла на сервере

Строка fputs($buffer, chr(0xEF) . chr(0xBB) . chr(0xBF)); добавляет в начало файла метку BOM, благодаря этому файл откроется в Excel с нормальной кодировкой.

Как записать данные из массива в CSV-файл?

2 ответа 2

Использовать специально предназначенную для этого функцию fputcsv

Всё ещё ищете ответ? Посмотрите другие вопросы с метками php файлы или задайте свой вопрос.

Похожие

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2020 Stack Exchange Inc; пользовательское содержимое попадает под действие лицензии cc by-sa 4.0 с указанием ссылки на источник. rev 2020.1.17.35803

Обычно если стоимость создания интернет магазина достаточно высока, заказчики просят сделать импорт товаров из их прайс листов. Им необходимо чтобы была возможность не только добавлять новый товар на сайт, но и обновлять цены и количество на складе уже существующих товаров.

PHP как известно не умеет работать excel-файлами стандартными средствами. Конечно есть множество различных классов, которые могут читать и записывать информацию в excel, но с ними возникает достаточно много проблем (об этом мы напишем в следующих статьях).

Куда проще и удобней работать с csv-файлами.

Для примера сделаем небольшую программку. Она будет обрабатывать csv-файл сотрудников компании OX2.ru.

Создадим новую таблицу в Excel, содержащую следующие поля:

Сохраним таблицу как csv-файл, с разделителем поля «;».

У нас должен получиться такой файл:

Читайте также:  Программа для управления процессором intel

Ниже приведен исходный код с подробным описанием.

Код слелан на ООП с использованием классов, и при небольшой доработки может многократно использоваться в различных приложениях. Если вы не привыкли к программированию на классах, а используете функции или еще что-то, то настоятельно рекомендуем переучиваться ))

Так же в коде используется генерация исключений (Exception), о них читайте в следующих наших статьях.

Основную работу с CSV файлами на себя берет класс CSV , Он имеет следующие методы:

setCSV(Array $csv) — записывает данные в csv-файл. Данные должны быть переданы массивом. Метод может дозаписывать csv файл, и создавать новый (читайте в описании).

Метод getCSV читает данные из csv файла, и возвращает двумерный массив следующего вида:

Пример достаточно простой, несмотря на то что получилось достаточно много кода.

И дальше с помощью цикла foreach обходим массив, и выводим в красивом виде содержимое csv файла.

Импорт данных из csv файлов будет полезен не только для обновление товаров в интернет-магазинах, но и для подгрузки/обновлении какой-либо информации на обычный сайт.

Например, мы разрабатывали сайт управляющей компании, и им требовалось ежемесячно публиковать информацию по счетчикам горячей и холодной воды. Все данные у них храняться в excel файлах. И тут прекрасно подошел csv формат!

При этом стоимость создания сайта останется не изменой, а функционал и автоматизация сайта будет на уровень выше чем у конкурентов.

Рекомендуем к прочтению

Добавить комментарий

Ваш адрес email не будет опубликован.