2017-03-07 17 views
-2

InputFilterProviderInterface을 구현하는 필드 세트가 있습니다. 내 getInputFilterSpecification 기능은 다음과 같습니다 : 당신이 추측 수 있듯이, 내가 확장하여 파일 업로드를 검증하기 위해 노력하고false를 반환하는 stream_resolve_include_path?

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 :

그래서 ... php6BE7.tmp

\ \ WINDOWS \ 온도가 왜 stream_resolve_include_path이 경로를 해결하기 위해 실패? 어떻게 수정해야합니까?

현재 Windows 가상 컴퓨터에서 실행 중입니다. 이것이 문제의 일부입니까? 즉 위의 기능은 호환되는 운영 체제에서만 작동합니까?

답변

0

단기 해결책 - 유효성 검사기를 확장하고 isValid 기능을 덮어 씁니다.

라인 찾기 :

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

과로 교체 :

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