Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 09.04.2018 22:45:00

Ошибка Unable to init from given url

Поставил попрактиковаться неплохую заготовку отсюда https://github.com/bestmomo/laravel5-5-example
Практически готовый сайт, есть админка и есть фронтэнд... Но как обычно не без проблем. Сначала при публикации поста не воспринимал теги и ключевые слова на русском. Нашел как изменить регулярное выражение и русские слова стало принимать... Подробности здесь https://github.com/bestmomo/laravel5-5- … /issues/24
Там я начал с проблемы с кирилицей и непрохождения валидации и потом появилась эта проблема с загрузкой изображений для превью статьи. Откуда то в форму для загрузки изображения подставляется обратный слэш и при публикации статьи вылазит такая ошибка:

Intervention \ Image \ Exception \ NotReadableException
Unable to init from given url ([url]http://youwo.ru/\files/yandex_2.jpg[/url]). 

Если я просто вручную в форме ввода поменяю \ на вот это / или вообще уберу его - то публикуется все нормально. Возможно я что то накосячил с регулярным выражением, но там в этом файле /...../app/Http/Requests/PostRequest.php для изображения не используется $regex. Вот содержимое файла PostRequest.php

<?php
namespace App\Http\Requests;
class PostRequest extends Request
{
    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {                         
       $regex = '/^[\p{L}zA-Z0-9]{1,50}?(,[\p{L}zA-Z0-9]{1,50})*$/u';        
        $id = $this->post ? ',' . $this->post->id : '';

        return $rules = [
            'title' => 'bail|required|max:255',
            'body' => 'bail|required|max:65000',
            'slug' => 'bail|required|max:255|unique:posts,slug' . $id,
            'excerpt' => 'bail|required|max:65000',
            'meta_description' => 'bail|required|max:65000',
            'meta_keywords' => 'bail|required|regex:' . $regex,
            'seo_title' => 'bail|required|max:255',
            'image' => 'bail|required|max:255',
            'categories' => 'required',
            'tags' => 'nullable|regex:' . $regex,
        ];
    }
}

Ну а эта ошибка с загрузкой изображения ругается вот здесь

vendor/intervention/image/src/Intervention/Image/AbstractDecoder.php

    83   throw new \Intervention\Image\Exception\NotReadableException(
    84   "Unable to init from given url (".$url.")."

Laravel 5.5.40, PHP 7.1.16, debian 9.3.
Гугление по данной ошибке Unable to init from given url не помогло:( 
Помогите пожалуйста найти решение проблемы. Спасибо.

Не в сети

#2 14.04.2018 02:31:27

Re: Ошибка Unable to init from given url

В общем и первую и вторую ошибку вычислил и решил. Если кому то интересно то русские теги и ключевые слова система стала воспринимать когда регулярное выражение стало таким: $regex = '/^[\p{L}zA-Z0-9]{1,50}?(,[\p{L}zA-Z0-9]{1,50})*$/u';

А вторая ошибка появлялась из за ошибки в шаблоне вот в этом файле /...../resources/views/back/posts/template.blade.php

Было так:
222        function processSelectedFile(filePath, requestingField) {
223            $('#' + requestingField).val('\\' + filePath)
224            $('#img').attr('src', '\\' + filePath)
225           }
Стало так:
222        function processSelectedFile(filePath, requestingField) {
223            $('#' + requestingField).val('\/' + filePath)
224            $('#img').attr('src', '\/' + filePath)
225           }

Не в сети

#3 14.04.2018 02:33:27

Re: Ошибка Unable to init from given url

Буду дальше ковырять эту заготовку сайта, если кому интересно или кто то также хочет изучить эту заготовку и Laravel  в частности - буду рад общению и взаимопомощи.

Не в сети

Подвал раздела