2017-01-28 87 views
0

我試圖通過上傳表單上載PHP腳本,但Laravel 5 Validator拒絕它。Laravel 5上傳腳本文件

下面是一個例子:

$input_name = 'myfile'; 
$requirements = 'mimes:text/x-php|required|max:10000'; 
$file = array($input_name => Input::file($input_name)); 
$rules = array($input_name => $requirements); 
$validator = Validator::make($file, $rules); 
if ($validator->fails()) { // The fail occurs here 
    echo Input::file($input_name)->getMimeType(); // the output is text/x-php 
} 

調試數據:

  • 我也試圖定義MIME類型爲x-phpphp

  • 在終端file --mime-type test.php返回文本/ X-PHP

  • Laravel getMimeType()函數也返回文本/ X-PHP

  • 的test.php的文件足夠小,所以這不是大小限制。如果定義爲mimes:jpeg,jpg,png,gif|required|max:10000

有誰知道任何類型的腳本文件應在確認被定義

  • 相同的代碼工作的圖片?

    感謝您的幫助提前。

  • 回答

    0

    後來才知​​道的驗證工作,在定義MIME類型和擴展名的列表:

    /vendor/symfony/http-foundation/File/MimeType/MimeTypeExtensionGuesser.php

    所以未知的MIME類型應該在這裏定義爲使用。

    還有一些更有用的信息在這裏: Laravel 5 Mime validation