Евгений: Это крайне редкий случай. Выбрасывайте сообщение, что фотография повреждена. А если там будет не полосочка забракована, а пол изображения? Смысл вам принимать такой контент
Открыть с помощью графического редактора и пересохранить. Или загрузить в ВК, а потом выгрузить. ВК, если я не ошибаюсь, обрабатывает изображения и на выходе будет новый файл. Может "поломка" затрётся.
Diversia: тогда да, используйте опции для cURL, которые я указал выше.
Ну и соглашусь с Boris Korobkov, сервисы могут забанить IP proxy-сервера, потому придётся позаботиться о запасных адресах. К примеру у меня в подобных проектах используется набор серверов, и если я получаю неоднозначный ответ (пустой, нет ожидаемых данных или они не полные, или же прямой признак блокировки), то адрес я блокирую в своей таблице и беру для следующих запросов новый. Но в этом случае авторизацию (если она нужна) и прочие вещи придётся повторять алгоритму с нуля.
Сергей: с этим я не спорю. Я лишь пытался донести, что запрос на сервер должен быть оправдан. Может просто где-то размыто мысль доносил, спишем на обострение аллергии :-D C Первым Пухом.
Сергей: если честно, я пол вопроса "проспал". Я тут топлю за то, что проверять галку на сервере не стоит после каждого изменения оной. Почему-то подумал, что ТС через ajax гоняет запрос каждый раз и проверяет её там, возвращая ответ. Виноват))
VladimirPortev: ну отправит форму пользователь с отключенным JS и без галки - что изменится? Планета с орбиты не сойдёт. А если это важно с правовой точки зрения, то это делается ещё проще: "Нажимая на кнопку я согласен на всё и отдаю вам почки, квартиру и свою жену" + крестик для отказавшихся. Гонять галку на сервер в таком интерфейсе - изысканное извращение.
pwnography: поймите истину - jQuery и JavaScript в целом плевать, откуда вы берёте данные. Вы лишь ссылаетесь на путь, по которому возвращается пакет данных. API это программа (скажу самым примитивным образом), которая, в зависимости от запроса и входных данных, возвращает ответ. JSON файл всегда будет возвращать только один и тот же ответ, ибо он статичен.
pwnography: и не должно работать, т.к. запятая после последнего элемента в json не ставится.
после "function(data) {" выводите данные в консоль и проверяйте, что приходит перед отправкой в плагин.
pwnography:
Во-первых читаем, что такое ЧПУ (к слову о "в какую-то директорию вообще").
Ответ от api в "data".
Если нужно проверить код ответа, читаем про $.ajax()
nzozmsot: или совсем отмороженный метод: сперва регулярками вырезать ссылки, заменив на якоря. После экранировать данные в переменной с помощью функции e() (в контроллере или где вы готовите свои данные), а потом заменить якоря на ссылки :-D Получим переменную для вывода, где всё будет заэкранировано кроме ссылок, которую можно вывести внутри {!! $var !!}
nzozmsot: методами laravel этого не сделать. Можно подключить сторонний пакет для чистки текста от "запретных" тегов (например purifier), но тогда ссылки будут выводиться, а другие теги будут вырезаны, а не выведены, как текст.
dister: оу, я лишь предложил алгоритм, в python я ноль))
Может быть и есть из коробки в языке способ, как сделать это адекватно и правильно. В моём варианте плохо то, что мы каждый раз вынуждены открывать/закрывать файл, поэтому Вам отвечали ранее, что правильнее работать с двумя файлами, или поочерёдно пройтись по всем строкам файла, а в конце его очистить.