Как проверить, что закачиваемый файл изображение? Пару быстрых фрагментов ниже подробно опишут, как выполнить эту задачу.

Создаем представление form.blade.php со следующим содержанием:

<!doctype html>
<html lang="en">
<head>
	<title>File Upload</title>
</head>
<body>

@if (Session::has("message"))
	{{ Session::get("message") }}
@endif

<hr />

{{ Form::open(array('url' => '/', 'files' => true)) }}
{{ Form::file('image'); }}
{{ Form::submit('Upload File'); }}

</body>
</html>

Приведенный ниже код необходимо поместить в контроллер, или для быстроты просто бросить его в пути.

Вы можете использовать следующую логику с Laravel валидатором для проверки файла:

Route::get('/', function()
{
	return View::make("form");
});

Route::post('/', function()
{
	$input = array('image' => Input::file('image'));
	
	$rules = array(
		'image' => 'image'
	);
	
	$validator = Validator::make($input, $rules);
	
	if ($validator->fails()) {
		return Redirect::to('/')->with('message', 'Error: The provided file was not an image');
	} else {
		return Redirect::to('/')->with('message', 'Success: File upload was successful');
	}
});

Теги: laravel, php

Редактировать