[請益] php判別類型

看板PHP作者 (落葉小生)時間7年前 (2017/05/11 19:27), 7年前編輯推噓4(4011)
留言15則, 8人參與, 最新討論串1/1
我在上傳檔案的時候 在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 但兩個都有執行 影片部分和音樂部分都有執行 是不是哪邊出了錯誤 先不要考慮我用這種土法煉鋼的判別影片方式 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 112.104.5.206 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1494502068.A.F28.html

05/11 20:15, , 1F
if(($type[0] == "mp3") or ($type[0] == "wav").....)
05/11 20:15, 1F

05/11 23:52, , 2F
XD 不要考慮咧 問題就是你土法鍊鋼好嗎
05/11 23:52, 2F

05/11 23:55, , 3F
自己測試看看這樣會不會執行
05/11 23:55, 3F

05/11 23:55, , 4F
$a=3; if ($a == 1 or 2 or 4 or 5) { echo 'is 3'; }
05/11 23:55, 4F

05/11 23:56, , 5F
真的太幽默了 還有in_array()加減看一下 看不懂沒關係
05/11 23:56, 5F

05/12 02:26, , 7F
in_array or preg_match or strstr or function switch
05/12 02:26, 7F
哈哈 感謝各位大大 只是想問說我這個方法的問題出在哪 不過看到in_array 這個還真是好用阿 ※ 編輯: ss95061111ss (112.104.5.206), 05/12/2017 06:02:57

05/12 08:29, , 8F
你的問題就是不能這樣寫 一樓有給你示範標準寫法
05/12 08:29, 8F

05/12 08:30, , 9F
但是照那樣寫實在太累了 所以建議你用in_array()
05/12 08:30, 9F

05/12 08:31, , 10F
或者switch 如同七樓建議的
05/12 08:31, 10F

05/13 06:14, , 11F
有意念化的味道,或許再過幾年就可以了
05/13 06:14, 11F

05/13 10:35, , 12F
php什麼時候變自然語言了
05/13 10:35, 12F

05/14 14:43, , 13F
好醜的程式碼 我輸了
05/14 14:43, 13F

05/15 10:18, , 14F
$check = array('mp3','mp4');
05/15 10:18, 14F

05/15 10:19, , 15F
if(in_array($type[0],$check)) echo $type[0];
05/15 10:19, 15F
文章代碼(AID): #1P54gqye (PHP)