@phpclubru

Страница 819 из 956
garrip91
27.02.2019
08:42:49
К примеру, имеется такой участок кода для вывода информации из БД:<?php $result = mysqli_query($dbconnect, "SELECT id, num, surname, name, patronymic, address, img FROM information"); $myrow2 = mysqli_fetch_array($result); do { printf ("<h2><a href='%s'>%s</a></h2> <p>%s %s %s</p> <p>%s</p> <p>%s</p> <hr>", $myrow2['id'], $myrow2['num'], $myrow2['surname'], $myrow2['name'], $myrow2['patronymic'], $myrow2['address'], $myrow2['img']); } while ($myrow2 = mysqli_fetch_array($result)); ?>

изображения внесены в колонку "img" как BLOB

Почему при выводе яизображений я вижу массу непонятных символов?

Сасный
27.02.2019
08:45:13
Тебе выше уже отвечали на этот вопрос

Google
garrip91
27.02.2019
08:45:43
Тебе выше уже отвечали на этот вопрос
Вполне возможно, что мой вопрос неправильно поняли

Сасный
27.02.2019
08:49:56
Вполне возможно, что мой вопрос неправильно поняли
поняли правильно и соответствующую информацию приложили

http://www.sql.ru/forum/521161/vyvod-kartinki-blob-iz-mysql-v-brouzer-sredstvami-php

Вот еще можешь покурить

Дмитрий
27.02.2019
08:50:15
я понимаю, если проблема уникальна и в гугле сложно найти инфу, но тут... первая выдача гугла по "php blob to image" даёт тебе ответ

garrip91
27.02.2019
10:12:21
Какую ошибку я здесь мог допустить? do { printf ("<h2><a href='%s'>%s</a></h2> <p>%s %s %s</p> <p>%s</p> <p><img height="325" width="300" src="data:image;base64, ' . $myrow2['img'] . '">%s</p> <hr>", $myrow2['id'], $myrow2['num'], $myrow2['surname'], $myrow2['name'], $myrow2['patronymic'], $myrow2['address'], $myrow2['img']); } while ($myrow2 = mysqli_fetch_array($result));

Пишет " Parse error: syntax error, unexpected '325' (T_LNUMBER), expecting ',' or ')' in D:\Eduard\EDUCATIONAL_PROGRAMMING_COURSES\OSPanel\domains\localhost\www\26.02.2019\articles.php on line 45 "

Дмитрий
27.02.2019
10:20:02
ты используешь двойные кавычки для обозначения строки, и в этой строке пытаешься поставить еще такие же. Их надо экранировать

или использовать внутри твоей строки одинарные кавычки

Terminator
27.02.2019
12:01:31
Дмитрий Родионов будет жить. Поприветствуем!

garrip91
27.02.2019
12:02:51
https://www.youtube.com/watch?v=oQ97k-X8WCI

Как тип с видеоролика получил изображение с БД?

Google
garrip91
27.02.2019
12:03:16
У меня не получилось

Alexandr
27.02.2019
12:21:10
Как тип с видеоролика получил изображение с БД?
Не очень то хорошо хранить изображения в бд

Aleksandr
27.02.2019
12:24:50
https://www.youtube.com/watch?v=oQ97k-X8WCI
Это ты хочешь, чтобы мы потратили 15 минут чтобы посмотреть ролик и ответить на твой вопрос?

Максим
27.02.2019
12:26:55
Не очень то хорошо хранить изображения в бд
ему уже и в другом чате и не раз говорили об этом

garrip91
27.02.2019
12:27:10
Это ты хочешь, чтобы мы потратили 15 минут чтобы посмотреть ролик и ответить на твой вопрос?
не хочешь не смотри... профессионалу достаточно начало посмотреть

Дмитрий
27.02.2019
12:38:55
не хочешь не смотри... профессионалу достаточно начало посмотреть
ну тебе то лучше знать да) пошёл учить где то пых на каких то курсах, а теперь людей докапываешь, чтобы за тебя разбирались, что у тебя там не так

dypa
27.02.2019
12:48:49
Не очень то хорошо хранить изображения в бд
нормально, если понимаешь зачем это требуется.

Pavel
27.02.2019
12:54:02
А зачем это требуется?

Dmitry
27.02.2019
12:57:56
экономия сискалов ?

dypa
27.02.2019
13:57:21
А зачем это требуется?
1) нет прав на запись на машине 2) требуется репликация файлов 3) требуется дополнительная логика при отдаче файла, вч шифрование

Pavel
27.02.2019
14:06:05
Разговор примерно такой: - Подскажите, какой скафандр выбрать для прогулок по улицам? - Не очень то хорошо ходить в скафандре по улицам. - Нормально, если понимать зачем это требуется. - И зачем это требуется? - 1) На улице льет кислотный дождь. 2) Ваша улица оказалась на дне океана. 3) Вы снимаете документальный фильм о прогулках на улице в скафандре.

dypa
27.02.2019
14:19:43
Разговор примерно такой: - Подскажите, какой скафандр выбрать для прогулок по улицам? - Не очень то хорошо ходить в скафандре по улицам. - Нормально, если понимать зачем это требуется. - И зачем это требуется? - 1) На улице льет кислотный дождь. 2) Ваша улица оказалась на дне океана. 3) Вы снимаете документальный фильм о прогулках на улице в скафандре.
если улицу затопило метра на 2, то твоя логика не работает ты вроде писал про 100 мб правил для чпу для nginx - с точки зрения норм сообщества - это бред, но с точки зрения разумного решения не стандартной задачи в дурку автора решения еще рано отправлять.

Pavel
27.02.2019
14:20:07
Согласен, это бред :)

Но если нет прав на запись на машину то стоит решать проблему с правами на запись на машину, а не в базу пихать. Для репликации файлы хранятся в объектных хранилищах которые оптимизированы для этих задач. Файлы и так отдаются шифрованными по https

Но в целом аргумент про дополнительную логику хорош. Права у nginx были какие-то тулзы чтобы организовать контроль доступа к файлам на диске.

Он там вроде дергает специально заданный урл и отдает файл клиенту только если урл вернул 200

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

Aleksandr
27.02.2019
14:42:23
Он там вроде дергает специально заданный урл и отдает файл клиенту только если урл вернул 200
там просто настроить эндпоинт так, что он отдавать результат будет только в результате внутреннего редиректа в итоге человек хочет картинку - скрипт проверяет права и редиректит на неё если все нормально

Pavel
27.02.2019
14:43:37
Вроде в постгресе есть какой-то движок специализированный для хранения больших блобов, в нем должно быть нормально хранить файлы

Dmitry
27.02.2019
15:12:55
кто юзает ПО для межбазовой репликации? между разными субд

Google
Adel
27.02.2019
15:14:12
кто юзает ПО для межбазовой репликации? между разными субд
тебе вообще для чего? и почему не в мускул чатике?

Dmitry
27.02.2019
15:14:37
мне реплицировать мускуль в другие базы.. в том числе nosql

ну может и там спрошу потом... ?

Adel
27.02.2019
15:15:00
там весьма умные люди сидят :)

не только в муське рубят :)

но там конкретнее надо спросить :)

потмоу что это не совсем репликация...

Dmitry
27.02.2019
15:15:35
это да... но в том то и дело, что мне в общих чертах - понять что есть готовое, нужно ли пилить свое

Adel
27.02.2019
15:16:09
ну проекции в терминах ES - это и есть репликации :)

но там другие правила игры конечно

Dmitry
27.02.2019
15:16:47
ну понятно что это репликация силами мидвари, но все же репликация ?

по сути ничего сложного - вычитывать бинлог и транслировать в синтаксис базы назначения... но наверняка нюансов хватает

dypa
27.02.2019
15:24:32
Но если нет прав на запись на машину то стоит решать проблему с правами на запись на машину, а не в базу пихать. Для репликации файлы хранятся в объектных хранилищах которые оптимизированы для этих задач. Файлы и так отдаются шифрованными по https
права иногда выдают безопастники, а ты знаешь этих ребят и 146 бумаг которые требуются. раньше если ты помнишь были шареды и веб мастера, думаю стоит вспомнить каких усилий требовалось чтобы обяснить chmod 777 на папку сделать требование может быть дополнительно шифровать, аналитиков своих вспомни когда они выкатывают очередное безумное требование

Aleksandr
27.02.2019
15:25:39
Зачем вообще может быть нужно делать chmod 777 на папку?

dypa
27.02.2019
15:26:37
Но в целом аргумент про дополнительную логику хорош. Права у nginx были какие-то тулзы чтобы организовать контроль доступа к файлам на диске.
посмотри на nginx plus если есть время, если нет - то можешь скачать Nginx - Microservices From Design to Deployment, там описаны вполне интересные кейсы

Pavel
27.02.2019
15:27:41
То есть слова Александра наоборот надо подтвердить вот так: Не очень то хорошо хранить изображения в бд, но иногда безумные требования аналитиков и безопасников вынуждают творить такую дичь :)

Pavel
27.02.2019
15:30:55
Ну так-то картинки это всегда часть данных, фотография пользователя, иллюстрации к бложику - это все части сущностей. Но хранение картинок в ФС это и есть то для чего ФС предназначена и мы получаем некоторую нормализацию по отношению к данным в базе.

Google
Pavel
27.02.2019
15:31:59
Файл как отдельный объект можно прочитать по кусочкам, проверить HTTP кеш и т.д. а с базой такого не сделаешь.

dypa
27.02.2019
15:35:05
Ну так-то картинки это всегда часть данных, фотография пользователя, иллюстрации к бложику - это все части сущностей. Но хранение картинок в ФС это и есть то для чего ФС предназначена и мы получаем некоторую нормализацию по отношению к данным в базе.
но есть же CDN, вроде не ФС - но отлично подходит для хранения файлов. тут нужно понимать, то что оригинал мы можем легко хранить в BLOB в СУБД, а вот раздавать его клиентам - это уже другой вопрос.

Pavel
27.02.2019
15:35:43
Как оригинал да, идея годная

Pluses overall Security and access control is simplified version controlling is easier. ACID Backups are easier no need to track external files Minus overall Performance hit storing files in database. Memory requirements higher, for Database Backups can take significantly longer Access to files to external applications is complicated. Normally a temporary file is copied to the client to access and modify the file then needs to be copied back.

Adel
27.02.2019
15:38:14
Кстати вот да. бекапы. все таки бд и файлы должны отдельно бекапиться.

это разнородные такие данные...

Dmitry
27.02.2019
15:38:41
бд тоже файлы ?

dypa
27.02.2019
15:40:19
господа, а расскажите какое количество оперативки у вас сейчас на ноутах/системниках которые вы применяете для разработки?

Pavel
27.02.2019
15:47:23
16 Gb, как раз в след. месяце планирую себе еще доставить плашку на 16

Щас хватает не всегда, крутится 2-3 вагранта, пяток докеров, и одна жирная винда в виртуалке.

+ еще хром, ff, vscode, phpstorm

Еще смотрел себе ноут дикий за 200к с 32гб оперативки :) но это слишком

Adel
27.02.2019
16:02:38
Еще смотрел себе ноут дикий за 200к с 32гб оперативки :) но это слишком
они как правило с графоном крутым, моником и т.д.

а нам оно не особо нужно.

моник у меня и так основной стоит отдельный...

Pavel
27.02.2019
16:07:05
14"

Dmitry
27.02.2019
16:15:35
я на работе взял прошку с 16... в принципе хватает под насколько штормов, докер и браузер, но иногда, конечно, ощущается нехватка...

Google
garrip91
27.02.2019
16:45:58
Ребят, как в Open Server правильно указать путь к изображению?

Pavel
27.02.2019
16:49:34
Ребят, как в Open Server правильно указать путь к изображению?
А вроде open server не имеет отношения к путям и изображениям или я что то не понимаю?

В index.php надо создать константу на __DIR__, и уже от этого все пути и урлы строить

Dmitry
27.02.2019
17:10:38
А чем на форуме отличаются Новые сообщения и Новые сообщения ?

Adel
27.02.2019
17:13:26
трудности перевода наверно

garrip91
27.02.2019
19:39:35
Не отображается картинка, у которой ссылка берётся из БД

Народ! Каким скринхостингом вы все тут пользуетесь?

garrip91
27.02.2019
20:27:21
Код № 1: https://pastebin.com/4aUsbFmy

Код № 2: https://pastebin.com/DmdQvMYY

Код № 2 я составил по образу и подобию Кода № 1

Почему Код № 1 работает, а Код № 2 нет?

Народ! Помогите мне, пожалуйста!

Aleksandr
27.02.2019
21:13:24
Народ! Помогите мне, пожалуйста!
Помоги себе сам, научить правильно задавать вопросы.

Кидать портянку на 100 строк без какой-либо конкретики и думать что кто-то будет тратить время чтобы в этом разбираться довольно таки наивно.

garrip91
27.02.2019
21:14:20
Помоги себе сам, научить правильно задавать вопросы.
Куда ещё правильнее-то? 1-й код работает, 2-й нет. И это при том, что 2-й составлен по аналогии с 1-м

Aleksandr
27.02.2019
21:17:12
Ну удачи с таким подходом.

Страница 819 из 956