Вызов страницы PHP с переменными get из командной строки Linux - PullRequest
1 голос
/ 20 февраля 2012

Я хочу использовать wkhtmltopdf для преобразования веб-страницы в PDF. У меня есть тест со статическим шаблоном, и этот синтаксис работает отлично

wkhtmltopdf my.html my.pdf

Проблема в том, что фактическая страница представляет собой динамическую страницу PHP с таблицами, которые используют 3 переменные get.

Примером может быть http://mypage.php? Clientid = SJC & datestart = 201201 & dateend = 201202 .

Я не могу сделать это напрямую, вот так:

wkhtmltopdf mypage.php?clientid=SJC&datestart=201201&dateend=201202 my.pdf

Кто-то предложил мне сначала вызвать PHP из командной строки с переменными, чтобы получить исходный код HTML для этого набора переменных, а затем преобразовать его, используя wkhtmltopdf

Как мне это сделать? Может ли кто-нибудь предоставить процесс, используя приведенный выше URL в качестве примера?

Ответы [ 2 ]

2 голосов
/ 20 февраля 2012

Самым чистым способом было бы использовать $_SERVER['argv'] вместо переменных GET.

Однако, если вы ДОЛЖНЫ использовать переменные GET, вы можете установить их в пользовательском скрипте:

$_REQUEST['var1'] = $_SERVER['argv'][0];

, а затем require() сам скрипт PHP.

Другим способом было бы установить переменные окружения QUERY_STRING и REQUEST_METHOD:

export REQUEST_METHOD=GET
exprt QUERY_STRING='var1=blub&var2=blah'
1 голос
/ 20 февраля 2012

В linux вы можете использовать команду wget для получения html-результата с URL:

wget "http://localhost/mypage.php?clientid=SJC&datestart=201201&dateend=201202"

или

wget -O myfile.html "http://localhost/mypage.php?clientid=SJC&datestart=201201&dateend=201202"

для вывода результата в конкретный файл ex.myfile.html

Примечание:

wget wget -O myfile.html "http://localhost/mypage.php?clientid=SJC&datestart=201201&dateend=201202"

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

...