如何在HTML页面中获取图像的文件类型?

时间:2012-09-23 22:18:16

标签: php

我写了一个简短的脚本来从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

1 个答案:

答案 0 :(得分:0)

您可以尝试将getimagesizeimage_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