PHP-скрипт с переменными $GET в планировщике задач Windows
Как я могу передать переменные php-скрипту в планировщике задач Windows?
В Планировщике задач в разделе "Действие" я ввожу:
Программы/Сценарии: C:\php\php.exe
Аргументы C:\scripts\myscript.php?var1=1&var2=2
? var1=1&var2=2 не передается php-скрипту в планировщике задач. Если я вызываю скрипт с vars в браузере, переменные передаются в скрипт правильно.
РЕДАКТИРОВАТЬ 1
Для лучшего понимания ответы
В скрипте с GET ich получаем данные в виде:
$varB = $_GET['B'];
$varC = $_GET['C'];
$varA = $_GET['A'];
С URL-адресом я бы назвал его
? В=ввв и С=ссс и А=ааа
Как бы выглядел этот пример, если бы я сделал это с помощью argv?
3 answers
Вы не можете сделать это в командной строке, $_GET
, $_POST
, все etc создаются с веб-сервера.
Что вы можете сделать, это использовать правильные аргументы командной строки, такие как:
C:\php\php.exe C:\scripts\myscript.php 1 2 "arg with space"
И получить к ним доступ с помощью $argv
например:
$var1 = $argv[1]; // 1
$var2 = $argv[2]; // 2
$var3 = $argv[3]; // arg with space
И просто для ясности, $argv[0]
всегда является названием сценария.
Редактировать: Для четного больше ясности$argc
содержит количество переданных аргументов.
Вы можете передать аргументы, как показано ниже, в свой PHP-скрипт:
C:\Program Files\PHP\php.exe C:\scripts\script.php arg1 arg2
Внутри script.php, вы можете получить к ним доступ с помощью $argv
, как показано ниже:
for ($i = 0; $i < count($argv); $i++) {
echo "$i: {$argv[$i]}\n";
}
Если у вас есть php-cgi, вы можете попробовать что-то вроде:
\xampp\php\php-cgi \scripts\myscript.php -- var1=1&var2=2