我正在使用一个函数收集使用mpdf构建报告所需的所有信息,但是为了保持简单,我将所有值传递给一个单独的php文件,然后在第二个php文件中构建传回的html代码
目前使用$ _GET方法传递,但现在我收到错误URI is to long
...
有没有办法在没有from和submit按钮的情况下使用$_POST
方法将所有值传递给php文件?
我想将它添加到函数中而不会破坏太多的代码...
注意:
使用$ _SESSION不是一个选项,因为我调用php文件从远程网站使用下面的代码构建函数,并使用结果构建pdf文件...
代码:
$body = file_get_contents("http://mywebsite.com/templates/statement/body.php".);
非常感谢任何帮助。
答案 0 :(得分:1)
如果在php.ini中启用了curl扩展名,则可以使用 curl 发布到其他页面。
$params['pageHeader'] = "some header text";
$params['pageBody'] = "the page body";
$params['somethingElse'] = "other";
$postData = http_build_query($params); // look up http_build_query in the manual
$curlHandler = curl_init();
$url = "http://yourwebsite/post_to_mpdf.php";
curl_setopt($curlHandler, CURLOPT_URL,$url);
// yes, I'm posting alright
curl_setopt($curlHandler, CURLOPT_POST, true);
curl_setopt($curlHandler, CURLOPT_POSTFIELDS, $postData);
curl_setopt($curlHandler, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($curlHandler);
echo $response;
curl_close($curlHandler);
答案 1 :(得分:1)
您不需要发出http请求只是为了避免回显html。
您可以改为使用输出缓冲:
的template.php:
<html>
<head></head>
<body>
<h1><?php echo $title;?></h1>
<ul>
<?php foreach($items as $item):?>
<li><?php echo $item;?></li>
<?php endforeach;?>
</ul>
</body>
<html/>
main.php:
$title = 'A title';
$items = ['one','two','three'];
//start output buffer
ob_start();
include 'template.php';
//capture output buffer as a string
$html = ob_get_clean(); //magic!
$html
包含以下字符串:
<html>
<head></head>
<body>
<h1>A title</h1>
<ul>
<li>one</li>
<li>two</li>
<li>three</li>
</ul>
</body>
<html/>