1

我有一个表单,提交后需要用新的 url 刷新页面。

然而,新的 url 需要来自 curl 函数的输出。

目前,我可以让 curl 功能正常运行,但不是用那个 url 刷新页面,它只是在页面上打印 url。

您知道我如何使用该 url 来刷新页面吗?

提前致谢

编辑:

$ch = curl_init();  

curl_setopt($ch, CURLOPT_URL, "http://uk.ImpulsePay.com/payforit?RouteID=5432&URL=Y"); 
curl_setopt($ch, CURLOPT_HEADER, 0);   


header( "Location: curl_exec($ch)");
curl_close($ch);

如果您访问上面的链接 - 它将显示一个在正文中有链接的页面。我基本上试图在页面正文中获取链接,然后将页面刷新到该页面。

那有意义吗?

4

1 回答 1

2

您需要使用 PHP header() 方法,请参阅此页面: http: //php.net/manual/en/function.header.php

这是他们的例子:

header("Location: http://www.example.com/"); /* Redirect browser */

请注意以下内容:

请记住,必须在发送任何实际输出之前调用 header()

如果您需要在“打印”某些内容后更改标题,则需要使用输出缓冲,请参阅此页面以开始: http: //php.net/manual/en/function.ob-start。 php

更新:您的 curl_exec( $ch ) 未执行,因为您无法在双引号内执行功能,您只能插入变量。

这是您想要执行的操作:

$httpResponse = curl_exec( $ch );
header( "Location: $httpResponse");

假设响应只是一个 URL,这会将用户的浏览器重定向到 curl 请求返回的值。

更新:我错过了您没有返回转移设置。您需要在您的行之后添加此CURLOPT_HEADER行:

curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );

这将告诉 curl_exec 返回响应而不是布尔成功指示。

See the "Return values" section at: http://php.net/manual/en/function.curl-exec.php

于 2012-04-14T15:25:11.850 回答