2011-03-13 137 views

回答

1

正如@Gordon在評論中指出的,twitpic似乎有一個API - 您應該使用這種類型的東西。

參見:http://dev.twitpic.com/



現在,這裏的老答案 - 有趣,但不是一個真正的好主意,考慮到有一個API:

您擁有的網址不是圖片本身的網址:它是顯示圖片的HTML網頁網址,網址爲<img>標記。

所以,你需要在兩個步驟行事:


而這裏的,做的是代碼的一個例子:

$twitpic_url = 'http://twitpic.com/49275c'; 

$dom = new DOMDocument(); 
if (@$dom->loadHTMLFile($twitpic_url)) { 
    // HTML loaded successfully 
    // => You need to find the right <img> tag 
    // Looking at the HTML, you'll see it has id="photo-display" 
    $img_tag = $dom->getElementById('photo-display'); 

    $src = $img_tag->getAttribute('src'); 

    // Just to be sure, let's display the image's URL 
    var_dump($src); 

    // Now, you have to download the image which URL is $src 
    $img_content = file_get_contents($src); 

    // ANd do whatever you want with that binary image content 
    // like save if to a file : 
    file_put_contents('/tmp/my-image.jpg', $img_content); 
} 

注:你要在這裏和那裏添加一些檢查 - 象檢查,如果照片顯示元素存在,例如。

+0

是的,但TwitPic有一個API,可以用更少的代碼和更可靠的方法來實現。 – Gordon 2011-03-13 15:10:12

+0

呃;應該檢查是否有一個API ...使用它確實是一個更好的主意^^ *(我將編輯我的答案指出)* – 2011-03-13 15:11:00

+0

那裏[已有答案](http:// stackoverflow 。(5290185/how-to-download-photo-from-twitpic/5290189#5290189)雖然;) – Gordon 2011-03-13 15:11:39