Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Добрый день.
Ларавел 5.5
Загружаю файл через форму.
В обработке валидации надо пройтись по этому файлу - построчно и проверить количество и формат строк.
Не могу понять как это правильно сделать.
Создал отдельное правило:
<?php
namespace App\Rules;
use Illuminate\Contracts\Validation\Rule;
class FileStructureRule implements Rule
{
/**
* Create a new rule instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Determine if the validation rule passes.
*
* @param string $attribute
* @param mixed $value
* @return bool
*/
public function passes($attribute, $value)
{
return false;
}
/**
* Get the validation error message.
*
* @return string
*/
public function message()
{
return trans('messages.projectFileValidation');
}
}
В
public function passes($attribute, $value)
{
return false;
}
в $value получаю
Illuminate\Http\UploadedFile Object
(
[test:Symfony\Component\HttpFoundation\File\UploadedFile:private] =>
[originalName:Symfony\Component\HttpFoundation\File\UploadedFile:private] => test.txt
[mimeType:Symfony\Component\HttpFoundation\File\UploadedFile:private] => text/plain
[size:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 55
[error:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 0
[hashName:protected] =>
[pathName:SplFileInfo:private] => D:\Test\OpenServer\userdata\temp\php78C.tmp
[fileName:SplFileInfo:private] => php78C.tmp
)
Как я понимаю сейчас предполагается куда нить этот файл сохранить и потом с ним работать.
Но как то не очень мне это нравится - может есть способ правильнее
Не в сети
Как я понимаю сейчас предполагается куда нить этот файл сохранить и потом с ним работать.
Файл загружается в временную директорию (указывается в php.ini).
С этим файлом можно полноценно работать (но, никто не оставляет файл во временной директории, потому-что предполагается, что ее можно безболезненно очистить в любой момент времени).
https://laravel.com/api/5.5/Illuminate/ … ethod_path
Берешь путь до файла (метод path()) - и там уже как угодно открываешь, после - валидируешь.
Изменено covobo (24.10.2017 13:30:06)
Не в сети
Страницы 1