Blog. Just Blog

Web-мастеру и не только

Полезные решения для Web-мастеров
Web-мастеру и не только - RSS-канал Web-мастеру и не только - Карта сайта

Работа с INI-файлами на PHP

14.09.2022 | Категория: Web-мастеру и не только | Автор: ManHunter

Работа с INI-файлами на PHP

Файлы формата INI - это файлы конфигурации, которые используются различными программами и самой операционной системой Windows для хранения своих настроек. Мне этот формат очень нравится из-за своей доступности и легкости в обработке. На Ассемблере я уже сделал с ними все, что хотел, а теперь понадобилось работать с INI-файлами на PHP. В арсенале PHP есть стандартная функция parse_ini_file, но она содержит принципиальные ошибки, ограничена в возможностях и не решает нужных мне задач. Пришлось рисовать класс для полноценной работы с INI-файлами на PHP.

Читать статью целиком »
Просмотров: 148 | Комментариев: 1

Запуск задания cron с интервалом меньше 60 секунд

31.08.2022 | Категория: Web-мастеру и не только | Автор: ManHunter

Формат crontab

Как известно из документации, минимальный интервал запуска заданий в cron равен 1 минуте. Причина такого ограничения понятна, минутный интервал нужен, чтобы не перегрузить систему параллельными задачами в случае некорректных настроек. А мне понадобилось запускать определенный процесс каждые 20 секунд. Да, можно было бы написать промежуточный скрипт, который запускался бы раз в минуту по планировщику, а потом запускал процессы с нужными интервалами. Но есть более красивое решение средствами самого cron. Для того чтобы какое-либо задание запускалось каждые 20 секунд, в файле crontab нужно сделать 3 записи, что-то типа такого:

####################################################
# Запуск задания каждые 20 секунд
####################################################

* * * * * /usr/local/bin/php -f /path/to/script.php
* * * * * (sleep 20 ; /usr/local/bin/php -f /path/to/script.php)
* * * * * (sleep 40 ; /usr/local/bin/php -f /path/to/script.php)

Теперь каждую минуту будет запускаться пакет из трех заданий, но самое первое стартует незамедлительно, второе запустится через 20 секунд, а третье только через 40 секунд. Таким образом исходная задача будет решена. А, например, для запуска заданий с интервалом в 30 секунд понадобятся только две записи, и пауза перед вторым заданием, соответственно, будет 30 секунд.

Просмотров: 188 | Комментариев: 2

Получение позиции курсора в текстовом поле INPUT

11.07.2022 | Категория: Web-мастеру и не только | Автор: ManHunter
Нашел в этих ваших интернетах забавный визуальный эффект для поля ввода логина и пароля. Но, на мой взгляд, он работает не совсем правильно, так как глаза должны следить за позицией курсора в поле ввода, а не за количеством введенных символов.

Пришлось рисовать универсальную кроссбраузерную функцию для получения позиции курсора в поле INPUT, дополнив список уже имеющихся функций похожего назначения. Вот что у меня получилось:
  1. <script type="text/javascript">
  2. function getpos(id) {
  3.     var el=document.getElementById(id);
  4.     var possel;
  5.  
  6.     // Internet Explorer
  7.     if (document.selection) {
  8.         el.focus();
  9.         if (sel=document.selection.createRange()) {
  10.             sel.moveStart('character', -el.value.length);
  11.             pos=sel.text.length;
  12.         }
  13.         // ... something wrong ...
  14.         else {
  15.             pos=0;
  16.         }
  17.     }
  18.     // Mozilla, Chrome
  19.     else if (el.selectionStart || el.selectionStart=='0') {
  20.         if (el.selectionDirection) {
  21.             if (el.selectionDirection=='backward') {
  22.                 pos=el.selectionStart;
  23.             }
  24.             else {
  25.                 pos=el.selectionEnd;
  26.             }
  27.         }
  28.         else {
  29.             // Opera 9
  30.             pos=el.selectionEnd;
  31.         }
  32.     }
  33.     // ... something wrong ...
  34.     else {
  35.         pos=0;
  36.     }
  37.     return parseInt(pos);
  38. }
  39. </script>
Единственный параметр - id поля ввода, на выходе числовое значение позиции курсора. Вызов функции лучше биндить на все возможные обработчики, так или иначе связанные с изменением содержимого поля ввода или с его (де)активацией. В некоторых случаях в старых браузерах может наблюдаться проблема с определением позиции курсора при выделении фрагмента текста, а также при автоповторе нажатия клавиш. В современных браузерах все работает нормально.

Читать статью целиком »
Просмотров: 254 | Комментариев: 1

Как обойти подтверждение по SMS и телефону

03.07.2022 | Категория: Web-мастеру и не только | Автор: ManHunter

Как обойти подтверждение по SMS и телефону

Сейчас практически нереально найти сервис или сайт, который бы не требовал подтверждение мобильного телефона. Это может быть SMS с числовым кодом или последние несколько цифр номера телефона, с которого вам позвонят. Тенденция, на мой взгляд, отвратительная, но речь сегодня немного не об этом. Вроде подтвердил номер один раз и пользуйся сколько угодно, благо левых симок пока хватает. Но ведь нет же. Особо отбитые сервисы при попытке захода с каждого нового устройства требуют повторной авторизации с обязательным подтверждением через SMS или контрольный звонок. Типа безопасность, типа защита данных, типа все делается в наших же интересах и все такое. Иногда повторная авторизация с телефонным кодом требуется, когда сервис посчитает запросы к нему подозрительными или вообще просто так, потому что вот захотелось. Но есть задачи, когда информация с сервиса должна обрабатываться автоматически без участия человека. Авторизацию с вводом логина-пароля эмулировать несложно, навороты на клиентской части тоже в большинстве случаев успешно обходятся, а как быть с телефоном? Устройство (сервер) фактически новое и неавторизованное, читать SMS и брать трубку PHP еще не научился.

Читать статью целиком »
Просмотров: 700 | Комментариев: 0

Эффект волнового искажения изображения на PHP

04.06.2022 | Категория: Web-мастеру и не только | Автор: ManHunter

Эффект волнового искажения изображения на PHP

Продолжаем портировать фотошоп на PHP :) Сегодня будет эффект волнового искажения изображения. Его можно использовать для получения красивых надписей, создания шаржей из фотографий друзей, генерации фоновых рисунков и текстур или вообще для производства всякой адовой крипоты в промышленных масштабах.

Читать статью целиком »
Просмотров: 284 | Комментариев: 6

prev 01 02 03 04 05 06 07 08 09 ... 38 next
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2022
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.07 сек. / MySQL: 2 (0.0016 сек.) / Память: 5 Mb
Наверх