Переопределение строковых функций в PHP (func_overload)

7 декабря 2011 Нет комментариев
использование вместо стандартных однобайтовых функций мультибайтовых (mbstring) функций. Настраивается в php.ini Полезно для работы сайта в кодировке utf8 По умолчанию выключено
; overload(replace) single byte functions by mbstring functions. ; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), ; etc. Possible values are 0,1,2,4 or combination of them. ; For example, 7 for overload everything. ; 0: No overload ; 1: Overload mail() function ; 2: Overload str*() functions ; 4: Overload ereg*() functions ;mbstring.func_overload = 0
Раскомментируем выделенную строчку. Это битовый флаг, т.е. для агрегации значений надо складывать эти значения. Все варианты приведены ниже. (далее…)
Categories: PHP Tags: , , ,

Простая сортировка многомерных массивов в php

2 декабря 2011 Нет комментариев
Как отсортировать многомерный массив по какому-либо значению? Все достаточно просто. Подойдет функция usort(). Сортирует массив, используя пользовательскую функцию сравнения. Смотрим пример:
<?php function cmp($a, $b) { return strcmp($a["fruit"], $b["fruit"]); } $fruits[0]["fruit"] = "lemons"; $fruits[1]["fruit"] = "apples"; $fruits[2]["fruit"] = "grapes"; usort($fruits, "cmp"); while (list($key, $value) = each($fruits)) { echo "\$fruits[$key]: " . $value["fruit"] . "\n"; } ?>
и результат: И еще один пример функции сортировки:

Определение локали из браузера

29 ноября 2011 1 комментарий
Если надо определить автоматически какой язык использовать на многоязычном сайте, то можно посмотреть заголовок, который передаст браузер. Конкретнее:
$_SERVER['HTTP_ACCEPT_LANGUAGE'] в моем случае - ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
ну и можно вытащить наиболее предпочтительную локаль:
$temp = explode(',',$_SERVER['HTTP_ACCEPT_LANGUAGE']); echo $temp[0]; будет - ru-RU
Categories: PHP Tags: , ,

Авторизация доменных пользователей на PHP

28 ноября 2011 7 комментариев
Иногда, для корпоративных порталов, актуально не заводить отдельный список пользователей, а производить авторизацию через контроллер доменов. Для этого в PHP есть набор специальных функций Облегчённый протокол доступа к каталогам (LDAP). В принципе там все написано, но рассмотрим простой пример. Надеюсь это будет полезно для тех, кто не особо знаком с особенностями работы контроллера домена. Здесь не будем рассматривать то, как передавать информацию серверу, просто предположим, что в POST запросе прилетают имя пользователя (username) и пароль (password) Итак, код с комментариями: (далее…)

Передача почты с вложением

27 ноября 2011 Нет комментариев
Нужен был php класс который умеет отправлять почту с вложением (вложениями). На просторах интернета нашел сей скрипт (автору спасибо), ссылку не помню. (далее…)

Error_reporting & display_errors

27 ноября 2011 Нет комментариев
Categories: PHP Tags: ,