Ответы пользователя по тегу PHP
  • Как переменную php вставить в инпут?

    @sergey_privacy
    Админ со стажем, начинающий DevOps
    <input type="hidden" name="date" value="<? echo date("Y-m-d H:i:s"); ?>">

    Хотя, если дата совпадает с текущей (а это так), то не надо городить огород. Просто у поля типа DATETIME ставим по умолчанию значение "текущая дата". Делается это в настройках самой таблицы. Или при вставке в базу использовать CURRENT()
    Ответ написан
  • Что быстрее 10 запросов к файлам или 10 к базе?

    @sergey_privacy
    Админ со стажем, начинающий DevOps
    На Ваш вопрос нет однозначного ответа. Аналогично вопросу: что быстрее, поезд или автомобиль? Кто то будет сравнивать советский поезд с бугатти, другой будет сравнивать японские скоростные поезда с жигуленком.

    Базы с поддержкой SQL бывают разные: MySQL, MsSQL, Oracle и т.д. У каждой из них своя методика работы с кэшем, индексами, памятью. Очень многое зависит от размеров базы, размеров таблиц, построения индексов, самого запроса, настроек сервера БД и операционки. Если база нормально сконфигурирована, таблицы с нормальной архитектурой, правильно построены индексы, сервер обладает достаточным количеством памяти, то запрос будет быстрее большинства самопальных решений для работы с файлами.

    Если же файлы проектировала группа высококлассных специалистов, обвязка спроектирована именно под такие запросы, то выигрыш по скорости может быть значительным в этом варианте. Но такой "путь самурая" предполагает перенос объема вычислений в более быструю область сервера: память-процессор. У тебя будет меньше работа с дисковой системой, но вся логика работы приложения должна быть перелопачена под такой вид данных. Без фундаментальных знаний алгоритмов программирования и математики-информатики в целом, такие велосипеды лучше не городить. Теория графов, матрицы, хеши, алгоритмы сортировки должны быть у тебя на уровне выше институтского. Про удобные таблицы на 5-10 полей можешь забыть. У тебя будет куча небольших упорядоченных файлов со списками ключ-значение. Индексы, хеши, хеши по хешам, индексы по хешам и т.д. - это на долгое время будет твой кошмар, который ты должен будешь представлять у себя в голове. Работа с файлами напрямую не имеет смысла, если ты не планируешь создавать высоконагруженное приложение с большими объемами данных. В этом случае у тебя проработка архитектуры хранения данных займет на порядок больше времени, чем проработка архитектуры базы. Предварительный поиск по одному символу, по двум, трем, ссылка на файлы, которые содержат следующую часть, по которой уже идет поиск. Не забудь блокировки файлов, обработку ошибок доступа, обработку оборванных транзакций, уникальность значений, индексов или ключей и т.д. Отсутствие удобных select-ов с join-ами и блэкджеком потребует от тебя проработки возможных видов запросов, чтобы сам вид хранения данных оптимизировать под кастрированные возможности. А из запросов будут только аналоги простейших "SELECT xxx FROM file_yyy WHERE Id=zzz", "UPDATE file_xxx SET yyy WHERE Id=zzz", "INSERT INTO file_xxx yyy=zzz", "DELETE xxx FROM file_yyy WHERE Id=zzz". Этими 4-мя операциями тебе придется обходиться.

    Сейчас есть уже готовые "велосипеды" noSQL, но это не "путь джедая". Типовой сайтик, с десятком или сотней уников в час не стоит такого геморроя.
    Ответ написан
    Комментировать
  • Где можно попрактиковаться в php?

    @sergey_privacy
    Админ со стажем, начинающий DevOps
    Может быть я не прав и вас интересует программирование в качестве развлечения. Но основная масса программистов зарабатывает этим деньги. Поэтому зайдите на биржу фрилансеров, прочитайте первое попавшееся задание и попробуйте его сделать. Потом второе, третье. ДВИЖКИ ПИСАТЬ НЕ НАДО! Возьмите ModX и на нем реализуйте несколько заданий. Потом возьмите вордпресс и еще пару популярных и на каждом по 3-4 задачи сделайте.
    Ответ написан
    Комментировать
  • Как правильно указывать пути из PHP-скрипта?

    @sergey_privacy
    Админ со стажем, начинающий DevOps
    Возможен вариант, что на файл при его закачке были установлены неверные права. Если есть доступ по SSH, то выполните в каталоге с файлом команду
    chmod 444 a.txt
    . Через панель управления хостингом или через FTP тоже можно установить атрибуты файла r--r--r--.

    Чуть выше вам дали тоже верный ответ, но я отвечу чуть более развернуто. Если указываете просто "a.txt", то по умолчанию находит в том же каталоге, где и php-скрипт. В случае указания конкретной папки XXX/a.txt, вы указываете что файл лежит в папке XXX, находящейся в текущей папке со скриптом. Вариант с указанием пути от корня, начинается с символа "/" и зачастую указывает на полный путь от реального корня диска. Но, если мне не изменяет память, директивами веб-сервера можно перебить это и корнем будет считаться корневая папка сервера или конкретного виртуального хоста. Сложнее вариант с многочисленными вызовами разных файлов из разных папок. Один файл может инклудиться из разных файлов в разных подпапках и тогда может возникнуть путаница, когда функция временами работает, а временами не работает. Тут может помочь только вариант указания полного пути от корня.
    Ответ написан
  • С чего начинать проектировать приложение?

    @sergey_privacy
    Админ со стажем, начинающий DevOps
    Сперва постройте подробное ТЗ, чтобы самому определиться с функциональностью приложения. Иногда мелочи бывают неочевидными, наталкиваешься на них на этапе реализации и под них приходится перепроектировать БД, переделывать кучу запросов, чтобы добиться нормального быстродействия. После составления ТЗ делайте правильное проектирование БД, закладывайте возможность ее роста. Заложите возможность масштабирования, добавления новых полей в ПО. Потом начинайте клепать фронтэнд, добавляя функционал бакэнда по мере работы и тут же проверяйте работу фронтэнда. Некоторые задачи не дадут вам выбирать порядок действий, исходные условия могут заставить вас поменять порядок действий. К примеру, БД может быть импортирована из другого проекта, вас могут привлечь к разработке или расширению фронтенда для существующего бакэнда.
    Ответ написан
    1 комментарий
  • Как защитить пароль при передаче формы на сервер?

    @sergey_privacy
    Админ со стажем, начинающий DevOps
    Самый надежный вариант очевиден:
    1. При нажатии на кнопку сабмита отсылаем аякс-запрос к серверу
    2. Он возвращает открытый ключ
    3. флэш или ява шифруют пароль открытым ключом на стороне браузера, отсылают серверу
    4. Сервер расшифровывает, хеширует и заносит в базу. Или не расшифровывает, а хеширует и хранит в базе пару: хешированный зашифрованный пароль и закрытый ключ.
    Ответ написан
    2 комментария
  • Как заменить автоматом белый фон вокруг картинок на прозрачный?

    @sergey_privacy Автор вопроса
    Админ со стажем, начинающий DevOps
    >>собенно, если за сайт получил от друзей пару бутылок коньяка, а платить за улучшательство должен из своего кармана сумму, превышающую стоимость этого коньяка.
    >Вот и видно цену вашей "работы". ваш час стоит меньше чем плинтус.
    Если вам еврейские корни мешают делать что то для друзей бесплатно, то проблема только в ваших еврейских корнях. Или в отсутствии друзей. Я друзьям помогал и ремонт делать в квартире, и частный дом строить, и компьютеры настраивал, и сетку компьютерную тянул, и сайты приходилось делать. Друзья мне в ответ много чего делали бесплатно. В качестве символической расплаты - пиво, коньяк, шашлык. Работа, которую я делаю за деньги, вас совершенно не касается и к сайтосртроительству не имеет ни малейшего отношения. Поэтому про увольнения и соответствие должности вы, по своему обыкновению, попали пальцем сами знаете куда. Много трепа и оскорблений не по существу вопроса.

    >ты какое ТЗ написал - такой ответ и получил
    Для начала, это было не ТЗ, а вопрос. Просто ищу название программы с такой функцией. Набор костылей, сделающий работу плохо и требующий сотен часов моего времени, мне не нужен. Твое решение именно такое. А раз ты так за него цепляешься, значит на рассмотрение других вариантов квалификации не хватает. О чем тогда спорить? Тем более, картинка для примера была предоставлена, описание задачи было вполне объемное. Никаких дополнительных данных, требующих телепатию, никто не уточнял и их в принципе не требуется.

    >судя по "пришлось переделывать" ТЗ вы составлять так и не научились. Да и договор наверное с ними не составляли...
    Какой договор, какое ТЗ? У друзей встала задача, которую попросили помочь решить с исходными данными. Я им помог, в дизайне сайта все выглядит отлично, их вполне устраивает. Я сам могу и хочу дизайн сделать лучше, но текущий вид картинок меня не устраивает. Будет хорошее решение, не состоящее из костылей, не требующее сотен часов работы или вложения моих денег - тогда и займусь.
    Поэтому прекращай троллить. Не знаешь нормального решения - занимайся собственным образованием вместо того, чтобы хамить людям. Все, бисер кончился, рука метать устала.
    Ответ написан
    Комментировать
  • Как заменить автоматом белый фон вокруг картинок на прозрачный?

    @sergey_privacy Автор вопроса
    Админ со стажем, начинающий DevOps
    2Arlakz: хватит троллить, просто отвали. Не твое дело, куда я трачу деньги, чем их зарабатываю, кому плачу, сколько плачу и я не собираюсь спрашивать у тебя разрешения или советоваться, что мне дальше делать. Ты ничего обо мне не знаешь и кроме хамства от тебя толку нет. Твоя фраза "сложная задача" или "слишком сложная задача" показывает, что ты вообще не в теме. Зачем мне спорить с дилетантом? Я писал ПО для распознавания фото и видео в реальном времени и я тебе говорю, что это задача в текущем виде для студента института. Выделить контуры контрастного изображения с четкими краями - это фигня. Ссылка на программу, которую ты привел - это действительно очень сложная и кропотливая работа. А самому платить приличные деньги студентам за шабашку с непредсказуемым результатом я не собираюсь. Только недавно получил комплект примерно из 2-3 тысяч картинок, обработанных таким студентом. Несколько десятков фото пришлось переделывать самому, оно мне надо? Особенно, если за сайт получил от друзей пару бутылок коньяка, а платить за улучшательство должен из своего кармана сумму, превышающую стоимость этого коньяка.
    Ответ написан
    Комментировать
  • Как заменить автоматом белый фон вокруг картинок на прозрачный?

    @sergey_privacy Автор вопроса
    Админ со стажем, начинающий DevOps
    СЕОшники такие СЕОшники. ничего не знают, ничего не умеют, хотят что бы кто-то за них все сделал, а они только бабки гребли...

    Кто сказал, что я СЕО-шник?
    Я админ сети на 5000+ пользователей со стажем больше 15 лет, программист с опытом программирования больше, чем на 10 языках программирования. Сертификатов у меня на пол стены. Сайтостроительство - это скорее хобби, друзьям-знакомым временами помогаю. Опыта и знаний в сфере ИТ достаточно, чтобы понять, что ваш вариант - набор костылей с заведомо плохим результатом на выходе, который потребует сотни человеко-часов работы по проверке и исправлению недоделок. Если вашей квалификации и знаний не хватает на рассмотрение других вариантов - ваша проблема. Решение отстойное, я его не рассматриваю. И перестаньте считать деньги в чужих карманах. Нытье просто унизительно.
    Ответ написан
    Комментировать
  • Как заменить автоматом белый фон вокруг картинок на прозрачный?

    @sergey_privacy Автор вопроса
    Админ со стажем, начинающий DevOps
    для начала вы себя показываете как неумеха, который категорически отказывается что-то пробовать
    даже из разжеванного

    Я работал с фотошопом и знаю, какая фигня получится. Волшебная палочка требует тщательного подбора параметров допуска. Чуть ошибешься - выделение залезет на само изображение. Результат будет плохой, несколько процентов изображений будет покоцано. Причем мне вручную придется просматривать все фотки, проходить все дерево каталогов. Зачем тратить время на заведомо негодный результат?


    за 30 баксов студент с радостью возьмется написать ту "программу" что я накидал выше
    потому что цена ей - менее часа рабочего времени. а это 10 баксов для студента.
    еще 20 - за машинное время - думаю за ночь комп с хорошим процом все сделает.

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


    вы - не хотите/не можете. это не просто диагноз. это приговор. вам нельзя работать на сложных работах - вы не умеете. идите копайте траншеи. хотя там то же надо думать... ;-(

    Как я и говорил, вы - хамло.
    Ответ написан
    Комментировать
  • Как заменить автоматом белый фон вокруг картинок на прозрачный?

    @sergey_privacy Автор вопроса
    Админ со стажем, начинающий DevOps
    Для начала, перестаньте хамить.
    Программу написать за 20-30 минут не получится, на это уйдет несколько дней.
    Рабочего варианта в нужном мне виде я пока не увидел, пробовать нечего.
    За 30 баксов студент не возьмется обрабатывать 20-30 тысяч фото, особенно в куче подкаталогов.
    По поводу неумехи - оставьте ваше неквалифицированное мнение при себе. Не зная ситуации ставить диагноз - моветон. Есть сайт, сайт работает, хочется без лишних затрат времени и денег сделать лучше. Пока занимаюсь кучей других проектов и жду, когда среди троллей типа вас появится кто-нибудь, кто вместо кучи костылей подскажет название нормальной программы. Тот набор костылей, которые предлагаете вы, мне не подходит.
    Ответ написан
    Комментировать
  • Как заменить автоматом белый фон вокруг картинок на прозрачный?

    @sergey_privacy Автор вопроса
    Админ со стажем, начинающий DevOps
    Что именно я должен был пробовать делать? Вручную фотошопить десятки тысяч фото? Спасибо, увольте! Хватило опыта с парой сотен фото.
    Программу самому написать? Уже был подобный опыт, распознавание образов писал как то. Исходников не сохранилось, писать придется заново. Я знаю, что могу написать такую же программу, но помню и весь геморрой при разработке и отладке алгоритма. Поэтому решил пока подождать.
    Ответ написан
    Комментировать
  • Как заменить автоматом белый фон вокруг картинок на прозрачный?

    @sergey_privacy Автор вопроса
    Админ со стажем, начинающий DevOps
    Задача не срочная, пока только планирую переделку сайта. Пока надежда не умерла, буду пытаться найти готовое решение. Очень уж не люблю попиксельно графику обрабатывать.
    Пару десятков тысяч фото в сотнях каталогов займут гораздо больше времени. Даже по одной минуте на файл уже займут 2 полных недели времени. Весь сайт столько не стоит, сколько отдам за обработку фоток.
    Ответ написан
    Комментировать
  • Как заменить автоматом белый фон вокруг картинок на прозрачный?

    @sergey_privacy Автор вопроса
    Админ со стажем, начинающий DevOps
    Я потому и сказал, что нужно заменять не весь белый цвет, а только вокруг изображения. Задача один в один, как распознавание капчи. Т.е. вычисляем края изображения, отличные от фона, фон отбрасываем. Все, что внутри контуров, не трогаем. Алгоритмов полно, я думаю и софт готовый есть. Осталось название найти.
    Ответ написан
  • Как заменить автоматом белый фон вокруг картинок на прозрачный?

    @sergey_privacy Автор вопроса
    Админ со стажем, начинающий DevOps
    то фото, что у вас в примере - должно обработаться нормально
    но где гарантия что нормально обработаются все?

    Фото однотипные, нормальный инструмент должен справиться со всеми одинаково.


    глубоко???? это не глубоко. к сожалению я дома, а тут кроме паинтнета и гимпа ничего нет. в фотошопе "автоматизация" очень простой и удобный инструмент. аналог есть в гимпе, но он сложнее "на разобраться".

    Я в фотошопе умею пользоваться слоями, основными инструментами на уровне начинающего пользователя. Разобраться с автоматизацией не проблема, просто в эту сторону ранее не смотрел.


    ВСЕГДА делайте бэкапы. что-нибудь глюканет при обработке - все будете заново создавать?

    Я работаю админом, бэкапы - первая заповедь. Все нужное хранится в десятке мест.


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

    И каждую фотку открывать вручную, применять макрос, потом сохранять? На это уйдут месяцы. Нужен рекурсивный обход каталогов.


    по поводу готового решения.
    сделать все за вас? а не слишком ли жирно? вы за это деньги получаете.
    скажите спасибо что подсказываем где копать

    Вы чего перевозбудились? Разве я просил написать за меня программу? Я спросил, вдруг кто то знает готовый продукт, который обладает подобными функциями? Или сказать название известной вам программы - это слишком тяжелый труд?
    Некоторое время назад возникла потребность в массовом переименовании файлов и преобразовании форматов. Спросил совета, тут же накидали несколько названий существующих продуктов. Сейчас ситуация такая же и я не понимаю, что за проблему вы развиваете. Не знаете названия - ну и фиг с ним. Никого я не подпрягал программу писать.
    Ответ написан
    Комментировать
  • Как заменить автоматом белый фон вокруг картинок на прозрачный?

    @sergey_privacy Автор вопроса
    Админ со стажем, начинающий DevOps
    я бы попробовал в фотошопе через автоматизацию - делается одна, при этом записывается макрос, потом обработка всей папки. это достаточно просто и быстро.

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


    естественно не все действия он сможет повторить.

    Догадываюсь, идея со своей программой мне все чаще приходит на ум. Похоже, придется потратить несколько дней на это.


    еще как вариант - макрос, а часть действий руками. те клик "волш. кисточкой" вручную, потом сочетание клавиш, которое запускает макрос.

    На вложенные папки получится?


    1. обязательно сделать копию - многое запорете

    Значит не мой вариант. Для того и задаю вопрос, чтобы запоротые фото оказались в количестве менее 1%


    2. "прозрачный", как верно выше ответили есть в png, gif, но не в jpg
    3. что у вас вообще за изображения то??? очень сложно работать телепатом - парочку бы примеров наиболее характерных показали. или аналогичные хотя бы.
    какой формат и тп, опять же насколько много изображений...

    Раз говорю про прозрачность, значит фото в одном из указанных форматов. gif для хранения реальных данных, я считаю, остался в 90-х годах. Для спрайтов, логотипов или элементов дизайна еще будет какое то время использоваться. Остался png. Как говорил выше, контрастные фото товаров на белом фоне типа такого 294a7a420178f225e50c7b2ca41fa671.JPG
    Наличие фото как то отменяет смысл фразы "контрастные фото на чистом белом фоне"?


    в общем много вопросов, без ответа на которые мы не можем посоветовать что-то более конкретное.

    Много вопросов и комментариев не по существу и фраза "мы не телепаты" уже подсказывает мне, что решение предложено не будет.


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

    Мне понадобится примерно 3-4 полных дня работы для написания программы. А студентам еще платить надо и сделают работу однозначно хуже.
    Ответ написан
    Комментировать
  • Как заменить автоматом белый фон вокруг картинок на прозрачный?

    @sergey_privacy Автор вопроса
    Админ со стажем, начинающий DevOps
    >в jpeg это точно не возможно, вернее можно конечно, но результат будет очень даже не интересный,
    Что значит возможно? В jpg прозрачность? Первый раз слышу. gif, png - понятно, а в jpg отродясь не было.

    >во-первых белый на глаз, далеко не всегда белый на самом деле, во вторых и сами предметы могут содержать белый цвет и зоны пересвета, которые так же фактически являются белым...
    я занимался попиксельной обработкой фото. Построчно, попиксельно считываешь, получаешь код цвета, сравниваешь. Можно задать разбег диапазона каждого канала в 5-15 единиц и все эти цвета заменять прозрачным. Программа то будет небольшая, на пару страниц. Только больше этим геморроем я заниматься не хочу.

    >так что однозначного решения в этом вопросе нет.
    а я зато всегда предлагаю своим клиентам снимать на чёрном фоне, он в эом плане лучше.
    Ответ есть, ничего волшебного в алгоритме. А отталкиваться приходится от уже сложившейся ситуации.

    >вот обрезать строго по квадрату еще можно, и то нет гарантии что и предмет не обрежет, это все лучше делать ручками. увы, но ручной труд в фотографии это основа основ...
    Что это за программа, которая обрезает вместе с изображением? Бред какой то. Выдернуть левые, правые, верхние и нижние границы изображения - задача на уровне первого курса института. Обычное нахождение экстремумов двумерного массива.
    Ответ написан
    Комментировать
  • Как передать имена файлов от jQuery File Upload в форму или вставить в БД?

    @sergey_privacy Автор вопроса
    Админ со стажем, начинающий DevOps
    Сам залез в глубины обработчика, сильно перекроил его, разобрался уже. Но за ответ все равно спасибо.
    Ответ написан
  • Кодирование данных перед помещением в mysql

    @sergey_privacy Автор вопроса
    Админ со стажем, начинающий DevOps
    Благодарю, это именно то, что искал. Хотя тут предложили более нативный вариант. Но все равно спасибо.
    Ответ написан
    Комментировать