diff --git a/src/Illuminate/Validation/Concerns/ValidatesAttributes.php b/src/Illuminate/Validation/Concerns/ValidatesAttributes.php index e4554c3f8e15..f15655832235 100644 --- a/src/Illuminate/Validation/Concerns/ValidatesAttributes.php +++ b/src/Illuminate/Validation/Concerns/ValidatesAttributes.php @@ -424,7 +424,7 @@ protected function validateDigitsBetween($attribute, $value, $parameters) */ protected function validateDimensions($attribute, $value, $parameters) { - if (! $this->isValidFileInstance($value) || ! $sizeDetails = getimagesize($value->getRealPath())) { + if (! $this->isValidFileInstance($value) || ! $sizeDetails = @getimagesize($value->getRealPath())) { return false; } diff --git a/tests/Validation/ValidationValidatorTest.php b/tests/Validation/ValidationValidatorTest.php index e24787bfa62e..ce30dbb42e9b 100755 --- a/tests/Validation/ValidationValidatorTest.php +++ b/tests/Validation/ValidationValidatorTest.php @@ -1923,6 +1923,13 @@ public function testValidateImageDimensions() $v = new Validator($trans, ['x' => $uploadedFile], ['x' => 'dimensions:ratio=1']); $this->assertTrue($v->fails()); + + // This test fails without suppressing warnings on getimagesize() due to a read error. + $emptyUploadedFile = new \Symfony\Component\HttpFoundation\File\UploadedFile(__DIR__.'/fixtures/empty.gif', '', null, null, null, true); + $trans = $this->getIlluminateArrayTranslator(); + + $v = new Validator($trans, ['x' => $emptyUploadedFile], ['x' => 'dimensions:min_width=1']); + $this->assertTrue($v->fails()); } /** diff --git a/tests/Validation/fixtures/empty.gif b/tests/Validation/fixtures/empty.gif new file mode 100644 index 000000000000..e69de29bb2d1