2017-01-28 4 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 
} 

デバッグデータ:

  • 私はx-phpphpとしてMIMEタイプを定義するための試みをも作りました。テキスト/ X-PHP

  • Laravel getMimeType()機能は、テキスト/ X-PHP

  • を返し、端末で

  • file --mime-type test.php test.phpをファイルには、それはサイズの制限はありませんので、十分に小さいです。誰がどのようなタイプのスクリプトファイルは、バリで定義されるべき方法を知っていmimes:jpeg,jpg,png,gif|required|max:10000

として定義されている場合

  • 同じコードは、画像のために働きますか?

    ご協力ありがとうございます。

  • 答えて

    0

    これは、Validatorがで定義されたMIMEタイプと拡張子のリストで動作することを出てきた:

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

    だから、未知のMIMEタイプを使用できるように、ここで定義する必要があります。

    ここにいくつかの便利な情報があります: Laravel 5 Mime validation