不可否認,我是新手,只知道危險。如何使用CURL而不是file_get_contents重寫此RSS閱讀器?
由於安全考慮,主機服務器不允許file_get_contents。我如何使用curl而不是file_get_contents來重寫下面的代碼?
這是一個jQuery手機網站上的RSS閱讀器。該代碼是基於一個教程,我發現在這裏:nets.tutplus.com/rssreader
<?php
$siteName = empty($_GET['siteName']) ? 'Website' : $_GET['siteName'];
$siteList = array(
'Website2',
'Website3',
'Website4',
'Website5',
'Website6',
);
// For security.
if (!in_array($siteName, $siteList)) {
$siteName = 'Website';
}
$location = "http://query.yahooapis.com/v1/public/yql?q=";
$location .= urlencode("SELECT * FROM feed where url='http://feeds.feedburner.com/$siteName'");
$location .= "&format=json";
$rss = file_get_contents($location, true);
$rss = json_decode($rss);
?>
編輯:將這項工作?
$location = "http://query.yahooapis.com/v1/public/yql?q=";
$location .= urlencode("SELECT * FROM feed where url='http://feeds.feedburner.com/$siteName'");
$location .= "&format=json";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $location);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, trim($request));
$rss = curl_exec($ch);
curl_close($ch);
$rss = json_decode($rss);
如果您的託管服務提供商不允許file_get_contents,他們肯定不會允許PHP cURL(它需要與PHP分開安裝)。 – honyovk 2012-04-26 18:08:47
謝謝你的擡頭。 – James 2012-04-26 18:23:20
您可能只需打開一個php.ini文件就可以打開file_get_contents(搜索您的提供商的詳細信息) – 2012-04-26 18:28:55