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'];
}
  • Вопрос задан
  • 204 просмотра
Решения вопроса 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} секунды");
?>

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

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

Войти через центр авторизации
Похожие вопросы