2012-04-14 56 views
1

我有一個表單,在提交時需要用新的URL刷新頁面。使用新的url刷新一個PHP頁面,從捲曲輸出中繪製

但是新的url需要來自curl函數的輸出。

此刻,我可以使curl函數正常運行,但不是使用該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); 

如果你訪問上面的鏈接 - 這將顯示其在體內的鏈接的頁面。我正在嘗試獲取頁面正文中的鏈接,然後將頁面刷新到該頁面。

這有道理嗎?

+0

我不認爲你需要捲曲在所有如果我理解正確的。請發佈您的代碼,以便我們更好地瞭解您要做的事情。 – Cfreak 2012-04-14 15:24:10

+0

嗨,我確實需要使用curl,因爲基本上我提交給curl的url會吐出一個新的url,這就是頁面需要刷新的url。這是一個支付處理的東西,所以我想這是因爲某種原因,他們要求你這樣做。 – user1332723 2012-04-14 15:32:36

回答

2

你要使用的PHP頭()方法,看到這個頁面:http://php.net/manual/en/function.header.php

這裏是他們的榜樣:

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

注意到,讀取行:

請記住,必須在發送任何實際輸出之前調用標頭()

如果您需要更改標題一些內容已經被「印刷」後,你將需要使用輸出緩衝,看到這個頁面開始:http://php.net/manual/en/function.ob-start.php

UPDATE: 你curl_exec($ CH)不因爲您不能在雙引號內執行功能,因此只能插入變量。

這裏是你想要做什麼:

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

假設響應只是一個網址,這將您的用戶的瀏覽器重定向到您的捲曲請求返回的值。

更新: 我錯過了你沒有返回轉移設置。 您將需要CURLOPT_HEADER行之後添加此行:

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

這將告訴curl_exec返回響應,而不是一個布爾成功指示的。

請參閱「返回值」部分:http://php.net/manual/en/function.curl-exec.php

+0

我可以把代碼放在php頭文件的方法之前嗎?而不是任何需要輸出的東西?謝謝 – user1332723 2012-04-14 15:36:30

+0

是的,你可以,只要在php打開** <?php **之前什麼都沒有,你的代碼行都不會回顯/打印任何東西。否則,你需要使用前面提到的輸出緩衝。 – 2012-04-14 15:52:36

+0

好吧,好吧...是否有一種方法可以將curl函數的輸出作爲url來刷新標題? – user1332723 2012-04-14 16:27:50