 Laravel по-русски
Laravel по-русски
      
      
    Русское сообщество разработки на 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