2

我想知道如何检测添加到回复字段中的 URL 是否是图像 URL。

如果它是一个图像 URL,那么我想img在回复中插入一个标签,如果不是,那么我只想插入一个锚标签。

4

3 回答 3

4

使用此代码:

<?PHP
$URL = 'https://s3.amazonaws.com/wrapbootstrap/live/products/icons/WB0XLB528.jpg';

$isImage = false;
$header = get_headers( $URL , true );
if( preg_match( '!image/*!si' , $header['Content-Type'] ) )
{
    $isImage = true;
}
var_dump( $isImage );
?>

如果是$isImage真的,你的链接是一个图像

编辑 :

使用 get_headers 函数获取 url 的标题,如果 Content-Type 是 image/png 或 image/jpg 或 image/bmp 或 etc ( image/* ) url 返回一个图像。

于 2013-08-01T21:18:09.417 回答
0
$filename = 'insert_url_here';
$contents = file_get_contents($filename);
$finfo=finfo_open(FILEINFO_MIME_TYPE)
if($finfo == "image/png" || $finfo == "image/jpg" || $finfo == "image/bmp"){
    // add mimetypes to test for
    echo "<img src='" . $filename . "' alt='image'></img>";
}
else{
    echo "<a href='" . $filename . "'></img>";
}
于 2013-08-01T21:19:36.887 回答
0

试试这个:

$url = "http://wewwefwe.com/image.png";
$image_extentions = array('gif', 'jpg', 'jpeg', 'png', 'tiff');

$url = explode('.', $url);
$extention = end($url);

if(in_array($extention, $image_extentions)){
    echo "Image";
}else{
    echo "Not an Image";
}
于 2013-08-01T21:27:20.587 回答