0

我编写了一个简短的脚本来从 URL 上传图像,以免热链接到它们。如果图像扩展名不是 .jpeg,则上传的图像会损坏。我不知道如何保留文件扩展名或文件名,所以我不得不为它们添加时间戳和静态扩展名。

<?php

    ini_set('user_agent', 'TEST/1.0 +http://127.0.0.1');

    require_once('simple_html_dom.php');

    // Create DOM from URL
    $html = file_get_html('http://www.discogs.com/viewimages?release='.$_POST["album_id"]);

    // Grab the coverart
    $img = $html->find('.image_frame', 0);

    $url = $img->src;

    $file = file_get_contents($url);

    $image = 'discogs_'.time().'_image.jpeg';

    file_put_contents('/path/to/file/'.$image,$file);

    echo $image;

?>

在 Baba 的帮助下更新了代码:http : //codepad.org/3zH3B882

4

1 回答 1

0

您可以尝试使用getimagesizewithimage_type_to_extension

require_once('simple_html_dom.php');
$url = "http://www.discogs.com/viewimages?artist=Test+%282%29";
$html = file_get_html($url);
$img = $html->find('.image_frame', 0);
$info = getimagesize($img->src);
$extention = image_type_to_extension($info[2]);
$image = 'discogs_'.time().'_image' . $extention;
echo $image ;

输出

discogs_1348438953_image.gif
于 2012-09-23T22:29:30.553 回答