如何获取没有扩展名的图像的真实文件类型

时间:2013-12-15 作者:Oscar

所以我有一个前端表单,允许用户从URL上传图像。。。

当图像URL具有如下适当的扩展名时,一切正常:

http://mydomain.com/image.jpg

但当图像url没有这样的扩展名时:

http://mydomain.com/image

我的代码不起作用。

这是我获得扩展的方式:

$filetype = wp_check_filetype($imageurl, null);
现在,如果检索到的图像的文件名确实有扩展名,比如jpg,那么上述调用的输出是

Array
(
    [ext] => jpg
    [type] => image/jpeg
)
但是,如果扩展名不是文件名的一部分,则上面的调用将返回以下数组

Array
(
    [ext] =>
    [type] =>
)
如何获取没有扩展名的图像的真实文件类型?

1 个回复
最合适的回答,由SO网友:Shazzad 整理而成

我认为,您不能准确地确定,但您可以假设一个标题数据。

$headers = wp_get_http_headers( $url );
$mime_type = $headers[\'content-type\'];
$ext = \'\';
foreach ( wp_get_mime_types() as $exts => $mime ) {
    if ( $mime == $mime_type ) {
        $ext = $exts;
        break;
    }
}
现在在$ext 变量,它可能是已匹配的多个扩展名,并且无法确定图像实际具有哪一个扩展名。但是,你可以试试第一个。

if( $ext ){
    $exts = explode(\'|\', $ext);
    $ext = $exts[0];
}

结束

相关推荐

Adding Relevant Post Images

我想在每个帖子页面的末尾添加相关帖子with an image 在我新创建的网站中http://www.techberita.com但作为一个初学者,这对我来说是一个很大的问题,因为我不能做到这一点,因为我对PHP和wordpress没有太多的知识。我搜索了一些插件,但没有找到一个好的插件。我希望很快得到答复。最好使用php代码。