<?php
if($row['top_pic'] == ""){
echo "<img src='images/img.png' class='imimg1'>";
} else {
echo "<img src='images/".$row['top_pic']."' class='imimg1'>";
}
?>
需要改变这如果(这个文件的图像){显示它}否则{显示视频}如果(COL == “”){显示图像}否则{显示视频}
<?php
if($row['top_pic'] == ""){
echo "<img src='images/img.png' class='imimg1'>";
} else {
echo "<img src='images/".$row['top_pic']."' class='imimg1'>";
}
?>
需要改变这如果(这个文件的图像){显示它}否则{显示视频}如果(COL == “”){显示图像}否则{显示视频}
你可以与此获取文件扩展名:
$file_extension = substr(strrchr($file_name ,'.'),1);
然后做一些开关:
switch ($file_extension) {
case "mp4":
echo "You have a video";
break;
case "png":
echo "You have an image!";
break;
case "jpg":
echo "You have an image!";
break;
default:
echo "You have an unsupported file extension ";
}
或者只是
if ($file_extension == "png") {
echo "<img src="">"
} else {
<video></video>
}
是的,是的,但我宁愿检查MIME类型,以防止严重命名的文件扩展名被视为图像。也许OP对你的答案更舒适。 –
通过Ops代码/问题来判断,我不认为他知道什么是MIME类型,而且这个代码对他/她来说可能更舒适。 – getl0st
您可以使用http://php.net/manual/en/function.mime-content-type.php来获取文件MIME类型并检查它是否为图像。进行有效默剧的数组,并检查文件的MIME是这个数组中:像
//File name
$file='images/'.$row['top_pic'];
//allowed image mime type
$imagesMimes=['image/gif','image/jpg','image/png','image/jpeg'];
//if the file exist and is allowed
if(file_exist($file) && in_array(mime_content_type($file),$imagesMimes)){
//do your magic
}
PS:如果你看到一些有关的功能被弃用,看到这个线程:Why is mime_content_type() deprecated in PHP?
未经测试,只是在我头上。
您打算如何检查文件是否为图像或视频?通过使用文件扩展名?如果是这样,这可能是危险的,因为它可以很容易被欺骗,而是检查'MIME'类型。你的问题并不清楚,你可能想要重述它。 –
请尽量控制您的缩进。你在这里得到的这种风格是极具误导性的。你也可以用'$ row ['top_pic'] ||来大量简化它'img.png'而不是有两个80%类似的代码块。 – tadman