Here is a sample of my script

$clientid = $_POST['clientid']; 
$from_day = $_POST['stat_from_day'];
$from_month = $_POST['stat_from_month'];
$from_year = $_POST['stat_from_year'];
$to_day = $_POST['stat_to_day'];
$to_month = $_POST['stat_to_month'];
$to_year = $_POST['stat_to_year'];

$from_date_string = $from_day . ' ' . $from_month . ' ' . $from_year ; 
$to_date_string = $to_day . ' ' . $to_month . ' ' . $to_year ; 

$baseurl = "http://www.test.com/";
$part1 = "?Search=" . $clientid . " from_day=" . $from_day . " from_month=" . $from_month . " from_year=" . $from_year ;
$part2 = " to_day=" . $to_day . " to_month=" . $to_month . " to_year=" . $to_year ;

$time = mktime();
$formatted_time = date("d_M_Y", $time);

$command = "xvfb-run -a /usr/bin/wkhtmltopdf --ignore-load-errors";
$url = $baseurl . $part1 . $part2 ;

$html = file_get_contents($url);

$output_dir = '/var/www/stats/pdf/';
$output = $clientid . '_Search_Export_' . $formatted_time . rand(10000, 99999) . '.pdf';

$generate = shell_exec($command . ' ' . $url . ' ' . $output_dir . $output) ;

The problem i seem to be having is with the $command, basically when it runs wkHTMLtoPDF it runs it via a Command Line, and &variable= bit causes the script to error as via command line & is another command, my question is how do i get the variables to be passed correctly so that the script this then sends to, will be able to use $_GET variables that i require for the script to then work ?

I have done a bit of looking up and found something along the lines of using $argv1;

Replacing $_GET to make it work from command line

However i cannot seem to find a reference that closely matches my needs.

有帮助吗?

解决方案

Change this:

$url = $baseurl . $part1 . $part2 ;

To this:

$url = "\" . $baseurl . $part1 . $part2 . "\";

其他提示

Actually wkhtmltopdf accepts and passes POST data to the server-side page being printed/exported to pdf.

All you need is --post fieldName value.

xvfb-run -a /usr/bin/wkhtmltopdf --ignore-load-errors --post username blablabla --post bla2 answer2

You can have as many as that in the command to pass as many post parameters as you want

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top