【发布时间】:2012-09-23 22:18:16
【问题描述】:
我编写了一个简短的脚本来从 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
【问题讨论】:
-
您应该从
Content-Type响应标头检测内容类型,不是从文件扩展名中检测。 -
您应该考虑使用站点的 REST API 来获取发布图片:discogs.com/developers - 它还处理每天的速率限制。
-
@hakra - 感谢您的信息,但不幸的是,我完全不知道如何使用 API。
标签: php