2010-05-18 60 views
0

我是否使用TwitterScript檢索Flash網站內的Twitter數據。由於Twitter的跨域策略,我需要建立一個PHP的代理... 首先,我做了一個簡單的如何通過php正確檢索Flash網站的twitter xml

<?php 
$url = $_GET['url']; 
readfile($url); 
?> 

但後來我得到這個錯誤

URL file-access is disabled in the server configuration 

僅由獲得解決了我主持人打開fopen(),我不想這樣做。

然後我發現這個

<?php 

function get_content($url) 
{ 
$ch = curl_init(); 

curl_setopt ($ch, CURLOPT_URL, $url); 
curl_setopt ($ch, CURLOPT_HEADER, 0); 

ob_start(); 

curl_exec ($ch); 
curl_close ($ch); 
$string = ob_get_contents(); 

ob_end_clean(); 

return $string;  
} 

#usage: 
$url = $_GET['url']; 
$content = get_content ($url); 
var_dump ($content); 
?> 

解決了這個問題,但該數據現在是正確的XML,但看起來像:

string(39950) "<?xml version="1.0" encoding="UTF-8"?> 
<statuses type="array"> 
<status> 
... 
</statuses>" 

如何獲得XML數據出該字符串的?

回答

1

你的問題是,當你想輸出結果時,你正在使用var_dump()。改爲使用echo。你也不需要輸出緩衝來獲取網站的內容。

固定碼

<?php 

function get_content($url) 
{ 
$ch = curl_init(); 

curl_setopt ($ch, CURLOPT_URL, $url); 
curl_setopt ($ch, CURLOPT_HEADER, 0); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true); 

$string = curl_exec ($ch); 
curl_close ($ch); 

return $string;  
} 

#usage: 
$url = $_GET['url']; 
$content = get_content ($url); 
echo $content; 
?> 
+0

感謝svens它完美的作品! – daidai 2010-05-18 22:31:14