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

getimagesizeで使用してみることができますimage_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 に答える