远程下载图片

Posted csjoz11

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了远程下载图片相关的知识,希望对你有一定的参考价值。

function get_url_image($url)
{
$ext = explode(‘.‘, $url);
$ext = strtolower(end($ext));
if($ext != "gif" && $ext != "jpg" && $ext != "png" && $ext != "bmp" && $ext != "jpeg")
{
return $url;
}

$name = date(‘Ymd‘);
for ($i = 0; $i < 6; $i++)
{
$name .= chr(mt_rand(97, 122));
}
$name .= ‘.‘ . $ext;
$target = ROOT_PATH . DATA_DIR . ‘/afficheimg/‘ . $name;

$tmp_file = DATA_DIR . ‘/afficheimg/‘ . $name;
$filename = ROOT_PATH . $tmp_file;

$img = file_get_contents($url);

$fp = @fopen($filename, "a");
fwrite($fp, $img);
fclose($fp);

return $tmp_file;
}
————————————————
// 主图上传
if ($_FILES[‘topic_img‘][‘name‘] && $_FILES[‘topic_img‘][‘size‘] > 0)
{
/* 检查文件合法性 */
if(!get_file_suffix($_FILES[‘topic_img‘][‘name‘], $allow_suffix))
{
sys_msg($_LANG[‘invalid_type‘]);
}

/* 处理 */
$name = date(‘Ymd‘);
for ($i = 0; $i < 6; $i++)
{
$name .= chr(mt_rand(97, 122));
}
$name .= ‘.‘ . end(explode(‘.‘, $_FILES[‘topic_img‘][‘name‘]));
$target = ROOT_PATH . DATA_DIR . ‘/afficheimg/‘ . $name;

if (move_upload_file($_FILES[‘topic_img‘][‘tmp_name‘], $target))
{
$topic_img = DATA_DIR . ‘/afficheimg/‘ . $name;
}
}
else if (!empty($_REQUEST[‘url‘]))
{
/* 来自互联网图片 不可以是服务器地址 */
if(strstr($_REQUEST[‘url‘], ‘http‘) && !strstr($_REQUEST[‘url‘], $_SERVER[‘SERVER_NAME‘]))
{
/* 取互联网图片至本地 */
$topic_img = get_url_image($_REQUEST[‘url‘]);
}
else{
sys_msg($_LANG[‘web_url_no‘]);
}
}

以上是关于远程下载图片的主要内容,如果未能解决你的问题,请参考以下文章

dede不能下载远程图片及如何实现图片本地化的方法

php-URL方法下载远程图片

C# 下载远程图片并显示

java远程下载图片

php下载远程图片到本地

php 文件远程下载