Ik heb 2 verschillende en afzonderlijk geprogrammeerd.
Script 1: Doorloop map met XML bestanden en geef deze weer
<?php
$files = glob('articles/*');
foreach($files as $file) {
$article = simplexml_load_file($file);
$article_name = $article->LV_ARTICLES_DESCRIPTIONANDMEASURE->LV_ARTICLES_LANG_NL;
$article_specification = $article->LV_ARTICLES_SPECIFICATION->LV_ARTICLES_LANG_NL;
}
?>
Script 2: Maak CSV bestand d.m.v. array's
<?php
header('Content-Type: text/csv');
header('Content-Disposition: attachment; filename="sample.csv"');
$data = array(
array(
'ID',
'Type',
'Naam',
),
array(
'1',
'Product',
'Testproduct',
),
);
$fp = fopen('php://output', 'wb');
foreach ( $data as $line ) {
fputcsv($fp, $line);
}
fclose($fp);
?>
Nu wil ik deze combineren zodat de informatie van XML naar CSV word omgezet
<?php
header('Content-Type: text/csv');
header('Content-Disposition: attachment; filename="sample.csv"');
$files = glob('articles/*');
$data = array(
array(
'artikelnaam',
'Specs'
)
);
foreach($files as $file) {
$article = simplexml_load_file($file);
$article_name = $article->LV_ARTICLES_DESCRIPTIONANDMEASURE->LV_ARTICLES_LANG_NL;
$article_specification = $article->LV_ARTICLES_SPECIFICATION->LV_ARTICLES_LANG_NL;
$data = array(
array(
"$article_name",
"$article_specification"
)
);
$fp = fopen('php://output', 'wb');
foreach ( $data as $line ) {
fputcsv($fp, $line);
}
}
fclose($fp);
?>
Het werkt, hij leest de xml bestanden en zet de waarde netjes in lijnen, maar de bovenste array wil ik ook mee hebben, dat is namelijk de kop van de CSV file.
Hoe kan ik dat oplossen?