【发布时间】:2012-10-29 21:33:12
【问题描述】:
我写了这个函数:
function isImage($url)
{
$params = array('http' => array(
'method' => 'HEAD'
));
$ctx = stream_context_create($params);
$fp = @fopen($url, 'rb', false, $ctx);
if (!$fp)
return false; // Problem with url
$meta = stream_get_meta_data($fp);
if ($meta === false)
{
fclose($fp);
return false; // Problem reading data from url
}
$wrapper_data = $meta["wrapper_data"];
if(is_array($wrapper_data)){
foreach(array_keys($wrapper_data) as $hh){
if(substr($wrapper_data[$hh], 0, 19) == "Content-Type: image") // strlen("Content-Type: image") == 19
{
fclose($fp);
return true;
}
}
}
fclose($fp);
return false;
}
它确实会检查一个 url 是否返回一个图像类型,现在我想扩展这个方法来控制返回的图像的扩展名是否在数组中 ('png','jpeg','jpg')。
我需要这个控制,因为用户在我的应用程序上提交图像 url。
任何建议都会被采纳!
【问题讨论】:
-
你的问题是......?我们不是代码批评服务。试试codereview.stackexchange.com
标签: php image validation url mime-types