通过URL安全上传/下载图像

时间:2012-08-29 16:49:39

标签: php image download

所以,我想安全地从URL下载图像。我的第一个想法当然是检查扩展 - 如果它是兼容的,只需下载并保存好扩展(它应该是安全的,因为服务器不会运行存储在.jpg文件中的PHP代码(好吧,除非它被配置为这样做))。使用这种方法还有一些风险,如果有更好的方法吗?

2 个答案:

答案 0 :(得分:0)

/* gets the data from a URL */
function get_data($url) {
  $ch = curl_init();
  $timeout = 5;
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
  $data = curl_exec($ch);
  curl_close($ch);
  return $data;
}

获取可以使用curl_getinfo()的文件信息 更多信息here

这应该可以帮助你通过url下载任何东西。 关于上传?你想在某处保存文件或什么?

答案 1 :(得分:0)

您应该检查它是否是图像,因为可以操纵扩展名。

$file = file_get_contents($url);
if(@imagecreatefromstring($file)) { 
  // it's a valid image file; handle it
}
else {
  // it's not an image file; error!
}