我正在尋找調用Twitter API來獲取推文(成功地實現了推特上的推文),但現在我正在尋找自動更新頁面,允許推文自動加載而無需重新加載/用戶交互。如何在不用PHP重新加載頁面的情況下調用API?
我知道這種類型的功能是可能的(monter.com)可以做到這一點,但是用於這樣做的技術是什麼?我可以用PHP來做到嗎?
謝謝
我正在尋找調用Twitter API來獲取推文(成功地實現了推特上的推文),但現在我正在尋找自動更新頁面,允許推文自動加載而無需重新加載/用戶交互。如何在不用PHP重新加載頁面的情況下調用API?
我知道這種類型的功能是可能的(monter.com)可以做到這一點,但是用於這樣做的技術是什麼?我可以用PHP來做到嗎?
謝謝
作爲@ suresh.g說,你可以使用AJAX。最簡單的方法:使用jQuery。
此外,您可以使用一個iframe,它每隔10秒用setInterval()
javascript函數重新加載。用戶將不會重新加載他的整個頁面,但Twitter的iframe。
技術的另一種類型是COMET或PUSH技術,但我不認爲你需要它的權利,但它的好,知道它;)
使用捲曲
function curl_grab_page($url,$data,$secure="false",$ref_url="",$login = "false",$proxy = "null",$proxystatus = "false")
{
if($login == 'true') {
$fp = fopen("cookie.txt", "w");
fclose($fp);
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
if ($proxystatus == 'true') {
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, TRUE);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
}
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
if($secure=='true')
{
curl_setopt($ch, CURLOPT_SSLVERSION,3);
}
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_REFERER, $ref_url);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
ob_start();
return curl_exec ($ch); // execute the curl command
curl_getinfo($ch);
ob_end_clean();
curl_close ($ch);
unset($ch);
}
只需調用這個功能你想你想設置它可以做的每一件事對你只是不要忘記設置捲曲在您php.ini中
感謝
使用Ajax數據的方式......! – 2013-02-11 04:35:15
這將在JavaScript中完成,而不是直接在PHP中完成。 – Supericy 2013-02-11 04:37:02
這種行爲可以使用PHP [flush()](http://php.net/manual/en/function.flush.php)僅使用PHP來實現(但不推薦使用,而只是使用AJAX!) – King 2013-02-11 05:23:44