Нужна помощь, делаю простой разбор xml в прайс в CSV для синхронизации магазина, точнее учусь и хочу сделать. Задача скрипта взять xml, скачать и сделать с него CSV в заданном формате. Прошу не обращать внимание на правильность этого всего дела (в плане написания). Собственно проблема с выводом строки с размерами (опциями), их нужно преобразовать в определенный формат для загрузки, что я и сделал. Но при записи через fputcsv() в файл, им добавляется разделитель (запятая или точка с запятой, что поставлю), но здесь разделитель не нужен, они должны быть строкой с переносом а не массивом. Соответственно потом csv понимает это как отдельные колонки
По факту нужно чтобы они записывались без разделителей в одну колонку. Код моей обработки:
<?php
$filepo= file_get_contents('http://free-run.kiev.ua/yml/12345');
file_put_contents('down.xml', $filepo);
$filexml= 'down.xml';
if (file_exists($filexml)) {
$xml = simplexml_load_file($filexml);
$i = 1; // Position counter
$values = []; // PHP array
// Writing column headers
$columns = array('url', '_CUSTOM_BASE_PRICE_', '_CUSTOM_BASE_CURRENCY_CODE_', 'categoryId', 'picture', 'delivery', 'name', 'description', '_OPTION_','_OPTION2_');
$fs = fopen('synchro.csv', 'w');
fputcsv($fs, $columns, ';');
fclose($fs);
// Iterate through each <item> node
$node = $xml->xpath('//offer');
foreach ($node as $n) {
// Iterate through each child of <item> node
$child = $xml->xpath('//offer['.$i.']/*');
foreach ($child as $value) {
$values[] = $value;
}
$pere = "\n";
$razmery = $n->param;
$pieces = explode(',', $razmery);
foreach ($pieces as $value2) {
$values[] = 'radio|Размер|' .$value2. '|1|100|0|+|0.0000|+|0|+|0.00' .$pere;
}
// Write to CSV files (appending to column headers)
$fs = fopen('synchro.csv', 'a');
fputcsv($fs, $values, ';');
fclose($fs);
$values = []; // Clean out array for next <item> (i.e., row)
$values2 = []; // Clean out array for next <item> (i.e., row)
$i++; // Move to next <item> (i.e., node position)
}
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Код выдает неправильные значения, хотя должен работать нормальноНачал отладку, и тут выясняется, что вижуалка скачет по функции как ей хочется,...
Можете, пожалуйста, сказать, чем отличаются эти строки ptr1 и ptr2? Работают они, вроде бы, одинаково
Я не понимаю, почему выводит разные значения, разве ссылка не должна неявно преобразовываться в указатель на mas?