PHP: Hypertext Preprocessor»Блог

Русская поддержка языка программирования PHP (Hypertext Preprocessor).

Статические переменные в PHP

Кроме глобальных и локальных переменных, в языке PHP есть еще один тип переменных. Данный тип именуется "Статические переменные".

Объявленную, статическую переменную в пользовательской функции, интерпретатор PHP не удаляет, после того, как функция выполнила свою работу. Это может быть полезно, например, если Вам требуется обращение к своей функции несколько раз подряд....

Точная замена слов в тексте на PHP

Функция str_replace служит для замены подстрок в строке. Задаем слово или слова, которые надо найти в строке и на что их менять, в общем-то это все. Легко и просто. Но если небольшой нюанс, допустим Вам необходимо заменять слова холод, скажем на слово тепло:
$text = str_replace('холод', 'тепло', $text);

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

Решение №1: Добавлять пробелы в начале и конце слов:
$text = str_replace(' холод ', ' тепло ', $text);

Так будет искать и заменять только те слова, которые нужны Вам. Но если в тексте слово холод будет самым первым, то пробела перед словом не будет и замена не осуществица. Так же замены не будет, если после слово холод стоит точка, или любой другой знак препинания. В таком случае подойдет решение №2.

Решение №2: Использовать регулярное...

Как использовать функции password_hash и password_verify в PHP

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

Когда то для хеширования пароля достаточно было функции "md5", но сегодня этого мало: https://secure.php.n ... swords.fasthash:
Почему популярные хеширующие функции, такие как md5() и sha1() не подходят для паролей?
Такие хеширующие алгоритмы как MD5, SHA1 и SHA256 были спроектированы очень быстрыми и эффективными. При наличии современных технологий и оборудования, стало довольно просто выяснить результат этих алгоритмов методом "грубой силы" для определения оригинальных вводимых данных.

Из-за той скорости, с которой современные компьютеры могут "обратить" эти хеширующие алгоритмы, многие профессионалы компьютерной безопасности строго не рекомендуют использовать их для хеширования паролей.

PHP.NET рекомендует для...

Массовая проверка proxy на работоспособность

Многие из тех, кто писал парсеры, сталкивались с очень неприятной ситуацией, когда сайт блокирует частые запросы с одного IP. Если же выставить задержку с помощью sleep(), процесс идёт очень медленно, что нас не очень устраивает.
Проведя в поиске решения какое-то время, все понимают, что для того, чтобы сервер, на который посылаются запросы, не блокировал их,- нужно использовать прокси-серверы.
Ну что-ж, отлично, решение найдено! Программист, довольный собой, идёт искать списки прокси-серверов. Если задача, которую ему нужно выполнить, небольшая, то он успешно находит несколько IP прокси, вручную их записывает в файл и успешно использует.
Но если запросов нужно делать очень много, десятка прокси нам не хватит. В ужасе мы открываем для себя новость, что нет больших списков прокси, 100% которых бы работали и предоставлялись бесплатно.
Бесплатные прокси часто перестают работать после одного дня работы. И даже если мы сегодня скопируем к себе пару сотен прокси, назавтра половина из них...

Операторы в PHP

Арифметические операторы в PHP, работают точно так же, как и калькулятор.
Все арифметические операторы:
+ - сложение.
- - вычитание.
* - умножение.
/ - деление.
% - деление по модулю.
Если работа предстоит с числом, которое меньше ноля, надо добавить перед числом минус (-), пример -37 или -$danfa.

Логические операторы работают только с логическими выражениями и возвращают либо false, либо true.
Все логические операторы:
! - оператор отрицания.
&& - и.
and - и.
or - или.
|| - или.
xor - исключающие или.

Из названия операторы сравнения, понятно, что служат они, как раз таки для сравнения двух, каких то значений.
Операции с операторами сравнения, всегда возвращают одно из двух вариантов, либо false, либо true. Например сравним два числа:
$figure = 9;

if ($figure > 7)
   {
        echo "<strong>$figure</strong> больше чем 7"; 
   }
else
   {
        echo "<strong>$figure</strong> меньше чем 7";    
   }

В условии: if ($figure > 7) стоит оператор > - больше, который сравнивает два...