2017-08-07 21 views
-3

輸入$ filetype是文件擴展名,所以如果我們說它是PHP $ def應該等於「Web」。 但輸出只是「圖像」,不管輸入中的文件類型是什麼。PHP switch語句顯示的文件類型含義

$filetype = "PHP"; 
switch(strtolower($filetype)) { 
    case ("jpeg" || "jpg" || "png" || "ico" || "gif" || "svg" || "ps" || "psd" || "tif" || "tiff" || "ai" || "bmp"): 
     $def = 'Image'; 
     break; 
    case ("aif" || "cda" || "mid" || "midi" || "mp3" || "mpa" || "ogg" || "wav" || "wma" || "wpl"): 
     $def = 'Audio'; 
     break; 
    case ("7z" || "arj" || "deb" || "pkg" || "rar" || "gz" || "tar.gz" || "z" || "zip"): 
     $def = 'Archive'; 
     break; 
    case ("bin" || "dmg" || "iso" || "toast" || "vcd"): 
     $def = 'Disc'; 
     break; 
    case ("csv" || "dat" || "db" || "dbf" || "log" || "mdb" || "sav" || "sql" || "tar" || "xml"): 
     $def = 'Data'; 
     break; 
    case ("apk" || "bat" || "cgi" || "pl" || "com" || "exe" || "gadget" || "jar" || "py" || "wsf"): 
     $def = 'Executable'; 
     break; 
    case ("fnt" || "fon" || "otf" || "ttf"): 
     $def = 'Font'; 
     break; 
    case ("asp" || "aspx" || "cer" || "cfm" || "css" || "htm" || "html" || "js" || "jsp" || "part" || "php" || "rss" || "xhtml"): 
     $def = 'Web'; 
     break; 
    case ("key" || "odp" || "pps" || "ppt" || "pptx"): 
     $def = 'Presentation'; 
     break; 
    case ("c" || "class" || "cpp" || "cs" || "h" || "java" || "sh" || "swift" || "vb"): 
     $def = 'Programming'; 
     break; 
    case ("ods" || "xlr" || "xls" || "xlsx"): 
     $def = 'Spreadsheet'; 
     break; 
    case ("3g2" || "3gp" || "avi" || "flv" || "h264" || "m4v" || "mkv" || "mov" || "mp4" || "mpg" || "mpeg" || "rm" || "swf" || "vob" || "wmv"): 
     $def = 'Video'; 
     break; 
    case ("doc" || "docx" || "odt" || "pdf" || "rtf" || "tex" || "txt" || "wks" || "wps" || "wpd"): 
     $def = 'Document'; 
     break; 
    default: 
     $def = ''; 
} 
echo $def; 

如何從交換機獲得正確的$ def輸出?

+0

請確保您的問題包含[mcve]。如果phpfiddle永遠消失,那麼你的問題將失去對未來訪問者的所有價值。 – j08691

+1

在此**發佈您的代碼**,而不是在外部網站上。 – GrumpyCrouton

+0

@ j08691它很簡單,完整,並且示例已鏈接。 –

回答

2

您的開關盒情況似乎是錯誤的。使用它如下所示

$filetype = "PHP"; 

switch(strtolower($filetype)) { 
case 'jpeg'; 
    case 'jpg'; 
    case 'png'; 
     $def = 'image'; 
    break; 
    case 'asp'; 
    case 'php'; 
     $def = 'web'; 
    break; 
    default: 
     $def = ''; 
     break; 

} 
echo $def; // web