2013-02-16 1 views
0

Я пытаюсь создать динамический файл csv для экспорта на сайт поставщиков на моем сайте. Они хотят, чтобы все значения были окружены двойными кавычками. Я пытаюсь создать строку, а затем передать ее в fputcsv(), но она выходит с тонны двойных кавычек, когда я просматриваю ее в блокноте2 и как 1 запись при просмотре в Excel. Вот мои ценности:Создание CSV с PHP

$line = '"'.$row->petID.'","'.$row->customID.'","'.$row->petName.'","'.trim($row->breedName1).'","'.trim($row->breedName2).'","'.$df->setGender($row->gender).'","'.$df->setSize($row->size).'","'.$df->setAge($row->age).'","'.$description.'","'.$row->pType.'","'.$df->setStatus($row->status).'","","'.$row->isAltered.'","'.$ND.'","'.$NC.'","'.$NK.'","'.$df->isHousetrained($row->housebroken).'","'.$df->isDeclawed($row->declaw).'","'.$df->isSpecialNeeds($row->isSpecial).'","'.$df->isMix($row->breed2).'","'.$PhotoURL1.'","'.$PhotoURL2.'","'.$PhotoURL3.'"'; 

и выходит, как это с помощью текстового редактора: «» «13651»»,„“„“,„“джек„“,„“Чихуахуа„“,„“ «Помощник», «М», «С», «Младенец», «« Джек и Хосе родились с симпатичным чилихуахуа/померанским миром 7 фунтов, который был доставлен в приют в качестве бродячего. отнятый от груди для их нового дома в середине августа. Хотя отец неизвестен, щенки, скорее всего, останутся маленькими. Посетите наш веб-сайт на www.dogswithoutborders.org для онлайн-заявки на приём для Джека или Хосе и чтобы узнать больше о наших выставках по усыновлению. "", "" Собака "", "" А "", "" "", "" 0 "", "" "" "" "" "" "" "" "" "" "" , "" "", "1" "," http://photos.petfinder.com/photos/US/CA/CA1087/20460152/CA1087.20460152-1-x.jpg "", "" "", "" "" "

Когда я удаляю добавленные вручную «(ы), я получаю только один в начале и один на конце. Есть идеи?

ответ

-1

Вместо того, чтобы делать это самостоятельно, вы можете использовать эту функцию PHP:

fputcsv 

Документация находится здесь: http://php.net/manual/en/function.fputcsv.php

как в документации, вы можете ...

//put your data in an array like this: 
$list = array (
    array('aaa', 'bbb', 'ccc', 'dddd'), 
    array('123', '456', '789'), 
    array('"aaa"', '"bbb"') 
); 
//open the output file for writing 
$fp = fopen('file.csv', 'w'); 

//write to the csv file (comma separated, double quote enclosed) 
foreach ($list as $fields) { 
    fputcsv($fp, $fields,',','"'); 
} 
//close the file 
fclose($fp); 
+0

Спасибо за информацию. Только проблема заключается в том, что кажется, что fputcsv выбирает и выбирает, что делать двойные кавычки. Мой поставщик требует от меня удвоить котировку всех значений. –

+0

@Wally Kolcz хмм вы попробовали что-то вроде примера, который я только что добавил выше? – Tucker

5

Используйте встроенные функции CSV!

<?php 
    $fp = fopen('file.csv', 'w'); 
    fputcsv($fp, array('item1','items')); 
    fclose($fp); 
?> 

Эталонные