从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中,符号“&”必须编码为“&;”。同时,最好将urlwget-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"