Skip to content

Instantly share code, notes, and snippets.

@Ser1ous
Created March 25, 2014 09:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Ser1ous/9757992 to your computer and use it in GitHub Desktop.
Save Ser1ous/9757992 to your computer and use it in GitHub Desktop.
<?php
set_time_limit(0); //Включаю ошибки и убираю лимит по времени
error_reporting(E_ALL);
ini_set('php_flag display_errors','on');
ini_set('php_value error_reporting', E_ALL);
ini_set('display_errors','on');
ini_set('error_reporting', E_ALL);
$handles_out = fopen('assets/xml/comand.sh', 'a+');
$import_type = "assets/xml/Parametrs.xml";
fwrite($handles_out, "#!/bin/bash \r\n");
$handles = fopen('assets/xml/comand0.sh', 'a+');
$xmlObject = new XMLReader(); //Создаю объект для чтения файла
$xmlObject->open('assets/xml/FullPack.xml');
while($xmlObject->read()){
if($xmlObject->name == 'Товар'){ //Нахожу то что относиться к товарам
$xmlstr = $xmlObject->readOuterXML (); //Читаю абсолютно всё, что касается товара
$tovar = (array)simplexml_load_string($xmlstr); //Объект загоняю в массив, т.к. мне проще обрабатывать объект
unset($tovar_s);
foreach ($tovar as $key=>$value)//Разбиваю на Ключ=>Значение
{
if(is_numeric($value))//Проверяю если объект числовой, то тогда загоняю значение в float, для того чтобы потом загонять именно числа.
{
$value = (float)$value;
}
$tovar_s[$key] = $value;
}
if($tovar_s['ИД'] !=false)//Иногда проскакивают пустые ID, по этой причине откидываю лишнее.
{
$n++;
$json = json_encode($tovar_s, JSON_UNESCAPED_UNICODE);
$json = str_replace("'","'\''",$json);
$send_string = "curl -XPOST localhost:9200/modx_shop/towar_base/".$tovar_s['ИД']." -d '".$json."'";
fwrite($handles, $send_string."\r\n");
}
unset($tovar);
unset($key);
unset($value);
}
}
fclose($handles);
echo $n;//На всякий случай просто подсчёт количества товаров.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment