Created
September 19, 2019 20:27
-
-
Save foxy-develop/a820c891e666149376a3de22fd6356be to your computer and use it in GitHub Desktop.
Создание страниц через ssh из xml файла Modx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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