<?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