@phpgeeks

Страница 4837 из 8430
Max
15.05.2017
17:31:51
Всем привет. Залип тут над задачей. В базе данных есть ячейка со словами "кошка,собака,попугай". Нужно чтобы при запросе к этой ячейки результат возвращался только тогда, когда в запросе есть именно три этих слова. Т.е. при таком запросе ничего не возвращать: SELECT * FROM anymals WHERE type LIKE "%кошка%" А при таком возвращать: SELECT * FROM anymals WHERE type LIKE "%кошка%" and type LIKE "%собака%" type LIKE "%попугай%

Evgeniy
15.05.2017
17:35:24
SELECT * FROM anymals WHERE type LIKE "%кошка\,собака\,попугай%"

F01134H
15.05.2017
17:35:41
SELECT * FROM anymals WHERE type LIKE "%кошка\,собака\,попугай%"
если поставит в другом порядке слова, сработает?

не помню прост синтаксис лайка

Google
Evgeniy
15.05.2017
17:35:57
я тоже0

Evgeniy
15.05.2017
17:37:05
неа

F01134H
15.05.2017
17:37:06
как бы 3 условия, в каждом регулярка, должно находить

Evgeniy
15.05.2017
17:37:07
нат%

с разных сторон

F01134H
15.05.2017
17:37:15
аа

Evgeniy
15.05.2017
17:37:31
он кошку в середине текста ищет

чтобы спереди был любой символ до кошки

такого нет и бд его шлет

ему надо написать

"кошка%"

Max
15.05.2017
17:38:05
Сейчас попробую

Google
Evgeniy
15.05.2017
17:38:07
и будет ок

и с попугаем тоже самое

но наоборот

"%попугай"

ну и можно добавть OR

F01134H
15.05.2017
17:39:21
и с попугаем тоже самое
как насчет вообще не ставить процент :D

Evgeniy
15.05.2017
17:39:31
тогда like не сработает

F01134H
15.05.2017
17:39:38
разве?

Evgeniy
15.05.2017
17:39:51
ага это будет равносильно =

Max
15.05.2017
17:42:25
Так

Не так все :)

Первый запрос в таком случае тоже будет отдавать ответ

Короче я делаю бота для телеграмма и в базе есть запрос и ответ

И в случае если все слова из ячейки запроса совпадают, то нужно вывести ответ

А если не совпадают, то не вывести

if (stristr($mess, 'кошка') == true and stristr($mess, 'собака') == true and stristr($mess, 'попугай') == true) { // тут ответ }

Сейчас у меня так выглядит условие в коде. Нужно такой запрос к базе сформировать

Vadim
15.05.2017
18:04:39
тогда like не сработает
Хм, у меня работало вроде

Но равносильно, да

Google
Батыр
15.05.2017
18:09:48
я хз о чем вы, у меня все пашет

хотя в топку)

Stas
15.05.2017
18:13:08
Есть ли какой то по типу активного сканера - антивирус для сайта, т.е. если какой то файл новый или изменен размер, то он мне об этом увдомит

(;¬_¬)
15.05.2017
18:15:07
контроль версий поможет тебе

Stas
15.05.2017
18:16:24
ну мне желательно другой вариант, в виде скрипта который по крону выполняется что-ли

с уведомлением email хотя бы

Stas
15.05.2017
18:17:53
почему не правильный? Дополнительная безопасность

Sergey
15.05.2017
18:18:51
файлы должен изменять только root и владелец, под владельцем должен ходить только vcs/ci

а если у кого-то root появился на сервере, то уже ничего не спасет

Stas
15.05.2017
18:19:21
ну а допустим если я хочу что бы никто и не читал?

т.е. зловред залил шелл и решил всё скачать

Sergey
15.05.2017
18:20:03
ты просил только на создание/изменение

Stas
15.05.2017
18:20:26
ну, человек залил = создал файл

Sergey
15.05.2017
18:20:32
но у зловреда не должно быть возможности заливать

Stas
15.05.2017
18:20:34
или шелл внедрил в страницу = изменил

Sergey
15.05.2017
18:20:43
у него не будет прав

Stas
15.05.2017
18:20:47
понятно что не должно, но не всегда получается

я сам не администратор потому я настроить так не могу

Sergey
15.05.2017
18:21:15
любые изменения - через git

Google
Sergey
15.05.2017
18:22:47
без админа это тот еще велосипед получится

Stas
15.05.2017
18:23:26
ну я не хочу гит ставить все эти дела, потому вопрос задал так, что хочу систему отслеживания изменния файлов

Sergey
15.05.2017
18:23:57
как это без гита в 2017?

Admin
ERROR: S client not available

Stas
15.05.2017
18:27:09
как это без гита в 2017?
спокойно и весело

Vadim
15.05.2017
18:27:22
Я так врубил эту штуку и мне сразу 30к писем пришло, т.к. криво настроил

Stas
15.05.2017
18:27:41
ну не я думал на php по крону что то

Vadim
15.05.2017
18:27:42
Вроде так называется...

Stas
15.05.2017
18:27:51
да, я посмотрел, так называется.

Sergey
15.05.2017
18:27:54
inotify
auditd тогда

Vadim
15.05.2017
18:28:12
auditd тогда
Я просто один раз в жизни только это юзал)

Stas
15.05.2017
18:28:28
я как уже говорил не сисадмин и сам такое не настрою

Vadim
15.05.2017
18:29:08
Тогда как нам тебе помочь, гит не хочешь, специальные инструменты для отслеживания не хочешь

Либо так, либо страдать

Stas
15.05.2017
18:29:39
вот по типу яндекс.манула только активное

Vadim
15.05.2017
18:29:54
При чем и гит, и специальные инструменты дополняют друг друга

(;¬_¬)
15.05.2017
19:01:41
вот по типу яндекс.манула только активное
манул изменения файла все равно не отслеживает, увеличился он у тебя или нет. так что либо разбираться, либо искать админа, либо страдать, как уже предлагали выше

Vadim
15.05.2017
19:04:56
Угу, если бы на все в мире было удобное, однокнопочное и надёжное решение, то админы были бы почти не нужны

(;¬_¬)
15.05.2017
19:05:21
и программисты тоже были бы не нужны

Google
(;¬_¬)
15.05.2017
19:05:26
всеж скрипты были бы написаны

их же только установить надо и все

Chuvi
15.05.2017
19:09:03
А в чём проблема написать несколько строк кода, запихать в крон и оповещать себя при изменении хэша какого-нить файла? В SPL же есть всё это.

$dir_iterator = new RecursiveDirectoryIterator("/path"); $iterator = new RecursiveIteratorIterator($dir_iterator, RecursiveIteratorIterator::SELF_FIRST); foreach ($iterator as $file) { // сравнить что-нить с чем-то, убедиться что файл не менялся }

ну мне желательно другой вариант, в виде скрипта который по крону выполняется что-ли
Просто итератор по всем файлам по крону и сравнение с сохранённым хэшом, например?

Stas
15.05.2017
19:20:22
Просто итератор по всем файлам по крону и сравнение с сохранённым хэшом, например?
ну что бы это был не кастомный скрипт с хабра, а какой-то более менее рабочий.

Chuvi
15.05.2017
19:22:20
Так вон, чуть выше - три строчки, по сути - итератор по всем файлам в директории и её поддиректориям. В цикле просто делай md5 файла и в первый раз сохрани куда-нить. Всё. Изменился - оповести себя. Но зачем для всего этого дела искать несколько часов решение, когда написать - 5 минут? )

Evgeniy
15.05.2017
19:22:56
тут програмировать надо

а надо чтобы зашел в чатик и написали

Chuvi
15.05.2017
19:23:25
Да не надо тут программировать - пример выше из доков...

F01134H
15.05.2017
19:31:31
Поцыки

толстые должны быть контроллеры или модели?

Артур Евгеньевич
15.05.2017
19:32:17
ни то не другое

но если выбирать из этого то модели

Страница 4837 из 8430