Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Linux命令行使用get变量调用PHP页面_Php_Linux_Wkhtmltopdf_Suse - Fatal编程技术网

从Linux命令行使用get变量调用PHP页面

从Linux命令行使用get变量调用PHP页面,php,linux,wkhtmltopdf,suse,Php,Linux,Wkhtmltopdf,Suse,我想使用wkhtmltopdf将网页转换为pdf。我用一个静态模板进行了测试,这个语法非常有效 wkhtmltopdf my.html my.pdf 问题是实际页面是一个动态PHP页面,其中的表依赖于3个get变量 例如 我不能直接这样做: wkhtmltopdf mypage.php?clientid=SJC&datestart=201201&dateend=201202 my.pdf 有人建议我需要先从命令行用变量调用PHP,以获取该变量集的HTML源代码,然后使用wkh

我想使用
wkhtmltopdf
将网页转换为pdf。我用一个静态模板进行了测试,这个语法非常有效

wkhtmltopdf my.html my.pdf
问题是实际页面是一个动态PHP页面,其中的表依赖于3个get变量

例如

我不能直接这样做:

wkhtmltopdf mypage.php?clientid=SJC&datestart=201201&dateend=201202 my.pdf
有人建议我需要先从命令行用变量调用PHP,以获取该变量集的HTML源代码,然后使用
wkhtmltopdf


我该怎么做?有人能以上面的URL为例提供流程吗?

最干净的方法是使用
$\u SERVER['argv']
而不是GET变量

但是,如果必须使用GET变量,可以在自定义脚本中设置它们:

$_REQUEST['var1'] = $_SERVER['argv'][0];
然后
require()
PHP脚本本身

另一种方法是设置环境变量
QUERY\u STRING
REQUEST\u METHOD

export REQUEST_METHOD=GET
exprt QUERY_STRING='var1=blub&var2=blah'

在linux中,您可以使用wget命令从URL获取结果html:

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

将结果输出到特定文件例如.myfile.html

注:


双引号似乎可以解决符号和编码问题。

您可以直接这样做。您只需要在命令行中转义url。用引号之类的话。不管怎么说,这不是一个很好的问题,这属于服务器故障。谁会对它的发布位置大惊小怪?我永远不会在serverfault上找到这个,我需要知道这个信息。忘记你自己。缺少“主机”参数。它应该是这样的:
wgethttp://localhost/mypage.php?clientid=SJC&datestart=201201&dateend=201202
使用wget-O方法似乎只能识别第一个查询。我得到2个未定义的索引。日期开始和日期结束。当我在浏览器中键入完全相同的地址时,它会完美地加载。有什么建议吗?在url中,符号“&”必须编码为“&;”。同时,最好将url
wget-O myfile.html双引号http://localhost/mypage.php?clientid=SJC&;datestart=201201&;dateend=201202“
好的,谢谢您的回复:)那么现在我有代码$sClientid=$\u GET['clientid']我可以用这个替换它吗$sClientid=$\u服务器['argv'][1]?如果是这样,我需要在命令行中输入什么来生成使用上述3个变量填充的html页面?如果我能得到html页面,它很容易转换成pdf,非常感谢
wget -O myfile.html "http://localhost/mypage.php?clientid=SJC&datestart=201201&dateend=201202"
wget wget -O myfile.html "http://localhost/mypage.php?clientid=SJC&datestart=201201&dateend=201202"