Как запустить php-скрипт в фоновом режиме в другом php-скрипте (например, кнопку обновления)

Как мне приступить к запуску php-скрипта, когда я нажал кнопку «Обновить», в которой затем будет запускаться скрипт x1.php (который не имеет эха или другого выхода, успехов или неудач), а затем обновляет текущую страницу ( Я знаю, что часть обновления может быть выполнена с помощью ajax, но я не уверен, как и как я могу заставить скрипт x1.php работать в фоновом режиме и запускать обновление ajax по завершении).

Любые указатели в правильном направлении были бы большими 🙂

Related of "Как запустить php-скрипт в фоновом режиме в другом php-скрипте (например, кнопку обновления)"

Вы можете попробовать следующее:

<input type="button" onclick="go();" value= "Update" /> function go() { $.ajax( { type: "POST", url: "script x1.php", data: data, // data to send to above script page if any cache: false, success: function(response) { // update code for your page } }); } 

Это запустит ваш сценарий в фоновом режиме, а затем вы также сможете обновить содержимое страницы. Вы можете изменить код в соответствии с вашими потребностями.

который не имеет эха или другого выхода, успехов или неудач

Должен быть какой-то ответ, отправленный назад для вышеупомянутого скрипта, чтобы быть в состоянии знать, что он закончил работать, иначе я боюсь, что вы не можете узнать, когда и как завершился скрипт.

Примечание . Использование JQuery здесь.

Ajax – это 100% правильный ответ. Вы создаете HTML-страницу, которая делает запрос Ajax на x1.php. В зависимости от того, что возвращается, метод success Ajax обновляет страницу.

Точнее, вы делаете запрос с использованием метода Ajax в JavaScript и обновляете страницу с помощью JavaScript.

Вот несколько примеров и документации:

  • Использование JQuery: jQuery.ajax ()
  • Использование прототипа: введение в Ajax

AJAX – это «правильное» направление. Вы должны вызвать x1.php и использовать его для обновления текущей страницы. Позаботьтесь о том, чтобы ваш сайт работал без javascript.

То, о чем вы действительно спрашиваете, именно то, о чем говорит AJAX. Вы просто присоедините наблюдателя событий к этой кнопке и запустите свой PHP-скрипт, вернув все, что вам нужно. Точный синтаксис просто зависит от того, используете ли вы библиотеку JavaScript (jQuery / Prototype и т. Д.),

Посмотрите на вопрос, который я задал. Возвращает значение в браузере, но все еще обрабатывается в PHP .

Используйте ajax, чтобы сделать запрос, но получите PHP, чтобы вернуть значение, даже если оно все еще обрабатывается в фоновом режиме.

Здесь вы можете использовать различные механизмы. Судя по вашему вопросу, я полагаю, процесс «Обновление», как ожидается, займет немного больше времени, чем вы ожидаете от обычного запроса ajax?

  • Опция 1

    Сделать сценарий обновления записывать статус в базу данных, а затем опросить статус обновления через AJAX

  • Вариант 2

    Сделать сценарий обновления создать файл блокировки во время его запуска и удалить файл блокировки после его завершения, использовать AJAX для опроса для выхода из файла блокировки

  • Вариант 3

    Если ожидается, что скрипт обновления завершит обновление, просто эхо-сообщение об ошибке «Успех» или «Ошибка» и обработайте его при успешном запросе AJAX, как предложил Сарфраз.

Просто включите .php, который имеет SQL-запрос примерно так: mysql_query («SELECT * FROM table WHERE date <DATE_SUB (NOW (), INTERVAL 8 DAY)»);

Он будет выполнен только в том случае, если это утверждение верно. 🙂

В этом .php, не ставьте никаких эхо-сигналов. Он будет работать автоматически, и пользователь ничего не заметит.