vechnokrainii
@vechnokrainii
ну почти всегда(

Как запустить несколько include?

Здравсвуйте! Нужна помощь. Чуть ниже дерево проекта.
5f97bf670f859617988878.png
Задача стоит в том чтобы взять информацию из базы и записать ее в xml-файл согласно некоторым требованиям. Как все работает. В файле startImport.php я задаю основные переменные, Это пусть куда записывать, какие поля брать из базы и прочее. В оюшем можно сказать что это настройки.
файл model.php Лежит в корне и ждет эти переменные, без них он ничего из базы не возьмет.
Я вызываю include writeXml.php в нем тяну include validate.php, а он уже тянет include model.php/ в итоге получаю готовый xml- файл в папке feeds. Но есть проблема, что могу запусть только один раз, на втроую плащадку, уже не сработаывает. Не знаю как вызвать несколько скритов из StartImport.php
Код ниже как я запускю скрипт.
// тут нужные переменныe.
$arr = [
    [
        'import' => 'importCian',
        'uploadRes' => 'false',
        'feed' => '/adver/feeds/cian.xml',
        'include' => 'cian/writeXml.php',
    ],
    [
        'import' => 'importYandex',
        'uploadRes' => 'false',
        'feed' => '/adver/feeds/yandex.xml',
        'include' => 'yandex/writeXml.php',
    ],
];

foreach($arr as $ar) {
    $import = $ar['import'];
    $uploadRes = $ar['uploadRes'];
    $feed = $ar['feed'];
    include $ar['include'];
}
  • Вопрос задан
  • 226 просмотров
Решения вопроса 1
vechnokrainii
@vechnokrainii Автор вопроса
ну почти всегда(
После некотрых ударов головой об стол, нашел способ. Возможно он слегка корявый, и не знаю будет ли работать на виндовых северах но как то так)
<?php

$start = microtime(true);

$site = 'exemple.ru';

exec("wget -O /dev/null -q https://{$site}/путь/до/файла/file1.php");
exec("wget -O /dev/null -q https://{$site}/путь/до/файла/file2.php");
exec("wget -O /dev/null -q https://{$site}/путь/до/файла/file3.php");
exec("wget -O /dev/null -q https://{$site}/путь/до/файла/file4.php");
exec("wget -O /dev/null -q https://{$site}/путь/до/файла/file5.php");

$time = microtime(true) - $start;
echo("Время записи xml-файлов {$time} секунды");
?>

Зашиваем один файл в крон и готово.
Осталось только выяснить если я сломаю один из файлов, например буду править, он продолжит дальше работу или нет
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы