2013-08-01 43 views
2

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

如果这是一个图片网址,那么我想插入一个img标签到答复,如果不是,那么我只想插入一个锚标签。

+0

如何张贴一些代码,以便我们可以帮助你。 –

+0

但如何,除非我没有任何代码,它只是一个想法,我想应用它 –

回答

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的头,在头如果内容-Type是image/png或image/jpg或image/bmp等(image/*)url返回的图像。

+0

是否有任何代码解释它的评论? –

+0

@ user2643747当然,编辑答案,看我的描述 –

+0

好吧,我会尝试它,这可以应用在论坛的回复字段? –

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>"; 
} 
+0

为什么要下载完整的url内容? url的标题是足够的:)看到我的答案 –

+0

是我thik DAVOOD是正确的 –

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"; 
} 
+0

我认为这可能是有用的 –

+0

我相信它更快,因为它不会调用任何文件只检查扩展 – Adam

+1

如果url没有结束与JPG,但返回一个图像?如'domain.com/image/01 /'这不是有用的 –