2016-12-05 135 views
0

我使用CodeIgniter創建了一個上傳表單,並且正在上傳帶有.apk擴展名的文件。 在我的控制器的時間我已經使用*哪個工作,但我想允許唯一的apk文件。如何在codeignitor中創建自定義MIME類型

​​

任何人都可以幫助我創建具有示例代碼的自定義MIME類型。

+0

您可以使用要允許的文件的擴展名$ config ['allowed_types'] ='apk'; – phobia82

+0

它不會工作我試過.. – pankaj

回答

-1
$config['allowed_types'] = 'apk'; 

您可以使用它。

它會正常工作。

謝謝。

+0

它不會工作我試過這個它給我一個錯誤「您正試圖上傳的文件類型是不允許的。」 – pankaj

+0

然後你可以使用javascript驗證那 –

+0

如果在覈心mlmes.php文件中沒有「apk」數組,那麼這將不起作用。建議JavaScript不是一個好主意。 – stef

0

docs,allowed_types指

與您允許成爲 上傳的文件類型的MIME類型。通常文件擴展名可以用作MIME類型。 可以是數組或管道分隔的字符串。

所以,你可以使用:

$config['allowed_types'] = 'apk'; 

如果您想更具體,檢查實際的MIME類型,APK這是

application/vnd.android.package-archive 
0

我希望這不是爲時已晚回答這個問題!!

我正在實施類似的事情,並遇到同樣的問題!經過一番對stackoverflow的研究後,我有一個經過驗證的答案。

由於@ phobia82正確地說,這是一個MIME類型的問題。 檢查了一些瀏覽器和CodeIgniter 3.x後,添加一個自定義MIME類型是有幫助的! 此外,值得注意的是,APK文件與2種MIME類型的認可(從我所測試)的事實

| application/vnd.android.package-archive | 
|-----------------------------------------| 
| application/java-archive    | 

所以,轉到config/mimes.php這添加到陣列

'apk' => array('application/vnd.android.package-archive','application/java-archive') 

這是我上傳失敗的原因。 Codeigniter將APK歸檔文件檢測爲java歸檔文件,Apache服務器將其檢測爲vnd.android.package-archive。一旦你完成這個,你可以使用

$config['allowed_types'] = 'apk'; 

希望這可以幫助!

相關問題