[請益] php判別類型

作者: ss95061111ss (落葉小生)   2017-05-11 19:27:45
我在上傳檔案的時候 在MYSQL裡有一個欄位是type
裡面會儲存上傳檔案的類型 並全部轉為小寫
在前端部分 利用if迴圈去判別
$type = mysql_query("SELECT type FROM text WHERE num = $i");
$type = mysql_fetch_row($type);
echo $type[0];
<a <?if($type[0] == "mp3" or "wav" or"wma" or"ogg" or "rm" or "ra"){?>
onClick="document.getElementById('music').style.display='block'"
<?}?>
<? if($type[0] == "mp4" or "flv" or"avi" or "wmv" or "asf" or "wmvhd" or
"dat" or "vob" or "mpg" or "mpeg" or "3gp" or"3g2" or
"mkv" or "rm" or "rmvb" or "mov" or "qt" or "ogg" or
"ogv" or "oga" or "mod"){?>
href="<?php echo 'file/'.$i.'.mp4'?>"
<?}?> ></a>
這是片段程式碼
我想問判別的部分有錯嗎 感覺判別不出來
是 == 部分不能這樣判斷字串嗎 還是or的問題?
echo $type[0]; 出來的字是 mp3
但兩個都有執行 影片部分和音樂部分都有執行
是不是哪邊出了錯誤 先不要考慮我用這種土法煉鋼的判別影片方式
作者: lambo (Lambo)   2017-05-11 20:15:00
if(($type[0] == "mp3") or ($type[0] == "wav").....)
作者: MOONRAKER (㊣牛鶴鰻毛人)   2017-05-11 23:52:00
XD 不要考慮咧 問題就是你土法鍊鋼好嗎自己測試看看這樣會不會執行$a=3; if ($a == 1 or 2 or 4 or 5) { echo 'is 3'; }真的太幽默了 還有in_array()加減看一下 看不懂沒關係
作者: JustGame (JustGame)   2017-05-11 23:57:00
作者: xdraculax (首席怪叔叔)   2017-05-12 02:26:00
in_array or preg_match or strstr or function switch
作者: MOONRAKER (㊣牛鶴鰻毛人)   2017-05-12 08:29:00
你的問題就是不能這樣寫 一樓有給你示範標準寫法但是照那樣寫實在太累了 所以建議你用in_array()或者switch 如同七樓建議的
作者: lhsieh (不要問)   2017-05-13 06:14:00
有意念化的味道,或許再過幾年就可以了
作者: kroutony (bingbing)   2017-05-13 10:35:00
php什麼時候變自然語言了
作者: wotupset (wotupset)   2017-05-14 14:43:00
好醜的程式碼 我輸了
作者: egg0821 (湯姆克魯蛋)   2017-05-15 10:18:00
$check = array('mp3','mp4');if(in_array($type[0],$check)) echo $type[0];

Links booklink

Contact Us: admin [ a t ] ucptt.com