-2

を実装しているフィールドセットがありますInputFilterProviderInterface。私のgetInputFilterSpecification関数は次のようになります。

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). 次var_dump $fileの出力を取得すると:

C:\Windows\Temp\php6BE7.tmp

だから...なぜstream_resolve_include_pathこのパスを解決できないのですか? どうすれば修正できますか?

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

4

1 に答える 1