2017-03-07 9 views
-2

InputFilterProviderInterfaceを実装しているフィールドセットがあります。私getInputFilterSpecification関数は次のようになります。あなたが推測できるように、私は、拡張子によるファイルのアップロードを検証しようとしていますstream_resolve_include_pathがfalseを返しますか?

public function getInputFilterSpecification() { 
    $validator = new \Zend\Validator\File\Extension([ 
     'jpg', 
     'jpeg', 
     'png', 
     'gif', 
    ]); 
    return [ 
     [ 
      'name' => 'logo', 
      'required' => false, 
      'validators' => [ 
       $validator, 
      ], 
     ], 
    ]; 
} 

私の問題は、バリデータが

ファイルが読み込めないか、私は問題を引き起こしている機能を発見したExtensionクラスに探し

存在しないエラーメッセージを与えているということです。stream_resolve_include_path($file)

C:\ WINDOWS \ Tempに\ php6BE7.tmp

そう...なぜstream_resolve_include_pathはこのパスを解決するために失敗しているとき、私var_dump$fileは、私は次の出力を取得しますか?どうすれば修正できますか?

これは現在、Windows仮想マシン上で実行されています。これは問題の一部ですか?つまり、上記の機能は互換性のあるオペレーティングシステムでのみ機能しますか?

答えて

0

短期的な解決策 - バリデータを拡張し、isValid関数を上書きします。

行検索:

if (empty($file) || false === stream_resolve_include_path($file)) {

をし、それを置き換える:

if (empty($file) || false === is_file($file)) {

関連する問題