2013-01-08 53 views
0

PHP下載Facebook的圖片我想在我的VPS用的fopen

<?php 
    function curl_get_contents($url, array $opts = array()) { 
    $defaults = array(
     CURLOPT_FOLLOWLOCATION => true, 
     CURLOPT_RETURNTRANSFER => true, 
     CURLOPT_USERAGENT => 'Mozilla Firefox 20.0', 
     CURLOPT_VERBOSE => true 
    ); 
    $opts = $opts + $defaults; 
    $ch = curl_init($url); 
    curl_setopt_array($ch, $opts); 

    return curl_exec($ch); 
} 

header('Content-type: image/jpeg'); 
echo curl_get_contents('http://sphotos-b.ak.fbcdn.net/hphotos-ak-prn1/58678_10151328142003680_1939974573_n.jpg'); 

?> 

運行這段代碼,當我運行它,有一個無限循環,我不明白爲什麼。該功能適用​​於每個圖片網址,但不適用於Facebook。任何建議?

+0

你試過捲曲或簡單的file_get_contents? –

+0

我不認爲Facebook可以讓你在沒有開會的情況下獲取圖片。 –

+0

是的,我嘗試了幾次捲曲和file_get_contents我認爲這是更適合文本文件,並沒有圖像 –

回答

0

以下爲我工作:

<?php 
function curl_get_contents($url, array $opts = array()) { 
    $defaults = array(
     CURLOPT_FOLLOWLOCATION => true, 
     CURLOPT_RETURNTRANSFER => true, 
     CURLOPT_USERAGENT => 'Mozilla Firefox 20.0' 
    ); 
    $opts = $opts + $defaults; 
    $ch = curl_init($url); 
    curl_setopt_array($ch, $opts); 

    return curl_exec($ch); 
} 

header('Content-type: image/jpeg'); 
echo curl_get_contents('link to facebook image'); 
?> 
+0

我用echo curl_get_contents('http://sphotos-c.ak.fbcdn.net/hphotos-ak-ash3/148917_10151187261222096_2028916617_n.jpg')試過這個解決方案;但我仍然沒有收到任何東西 –

+0

按照我的預期工作 - 您可以將CURLOPT_VERBOSE選項添加到它並告訴我輸出結果嗎? :) –

+0

嗨,我加入在這裏起作用curl_get_contents($網址,數組$選擇採用=陣列()){$ 默認=陣列( CURLOPT_FOLLOWLOCATION =>真, CURLOPT_RETURNTRANSFER =>真, CURLOPT_USERAGENT =>「的Mozilla Firefox 20.0 ', CURLOPT_VERBOSE => true ); $ opts = $ opts + $ defaults; $ ch = curl_init($ url); curl_setopt_array($ ch,$ opts); return curl_exec($ ch); } header('Content-type:image/jpeg'); echo curl_get_contents('http://sphotos-c.ak.fbcdn.net/hphotos-ak-ash3/148917_10151187261222096_2028916617_n.jpg'); –