CSV-парсеры

Тесты шин, шины на autocentre ua. . подоконники

CSV - один из форматов файлов. Удобен он тем, что позволяет заказчикам, непросвященным в вопросах технологий редактировать данные в обычном экселе, а программистам легко забирать то что они там понаписали. Заказчик делает обычную таблицу, сохраняет ее в формате csv - и получается файлик, в котором записи разделены по определенным правилам.

1. Каждая строка - это отдельная запись;

2. Записи разных колонок разделяются определенным разделителем (в основном зяпятая или точка с запятой);

3. Если в записи есть разделитель, то запись берется в кавычки;

4. Если в записи есть кавычки, то они представляются в виде 2-х кавычек;

Пример, текста файла csv (например, список товаров [id, title, цена]):

1; Гранатомет;2000

2;Кинжал ""Бодрячком"";10

Формат довольно удобный, и вроде все очевидно, но т.к. никому не хочется каждый раз изобретать велосипед, разработчики пхп создали огромное число различных csv-парсеров. Я и сам в начале своего пути пользовался каким-то ужасным парсером, который глючик с utf-8, причем неподецки, был огромен как слон и нифига не очевиден. И это в довольно серьезной фирме было стандартом :)

Но прошло время и оказалось, что php сам это все умеет. Еще с 4-й версии в нем есть супер-функция:

array fgetcsv (resource descriptor, int lenght [, string separator [, string offset]])

простая до безобразия и понятная даже ежу.

С записью, конечно не все так гладко как с чтением - тут разработчики языка постарались на славу (как обычно в общем-то) ибо

int fputcsv ( resource handle [, array fields [, string delimiter [, string enclosure]]] )

появилась только в 5-й версии php.

Тем не менее, сейчас, когда 5-ка стала стандартом, до сих пор очень много людей пользуется велосипедами под названием "Парсер csv". Завязывайте :)


Информеры с тИЦ и PR: получить код для сайта