Шучу ) Не влезет. А вот список регионов в виде массива PHP может где-то и пригодиться.
Метка: PHP
Настройка опций в файле .htaccess
Директивы необходимо добавлять в самый конец или в самое начало файла, вне блоков кода <IfModule>…</IfModule>.
apc.cache_by_default
APC — акселератор PHP, использование которого увеличивает производительность интерпретатора за счет кэширования. В отдельных случаях, однако, может потребоваться его отключение — например, если скрипты не выполняются корректно из-за переполнения кэша.
Управление APC осуществляется директивами:
php_flag apc.cache_by_default on php_flag apc.cache_by_default off |
default_charset
Директива указывает кодировку по умолчанию (например, cp1251, utf-8, koi8-r) для всех выдаваемых страниц.
AddDefaultCharset cp1251 php_value default_charset cp1251 |
display_errors
Директива указывает, требуется ли выводить ошибки на экран вместе с остальным выводом, либо ошибки должны быть скрыты от пользователя.
Включение и выключение осуществляются следующим образом:
php_value display_errors 0 php_value display_errors 1 |
log_errors
Опция позволяет включить логирование ошибок php с их записью в произвольный файл (в примере errors.log). При указании пути к файлу замените u и user на первую букву Вашего логина и сам логин.
php_value log_errors on php_value error_log /home/u/user/путь_к_файлу/errors.log |
magic_quotes_gpc
Волшебные кавычки (Magic Quotes) — это процесс автоматического экранирования входящих данных PHP-скрипта. Если опция включена, то одинарные (‘) и двойные («) кавычки и обратный слэш (\)экранируются обратным слэшем автоматически.
Включение и выключение magic_quotes осуществляется директивами:
php_flag magic_quotes_gpc on php_flag magic_quotes_gpc off |
mail.add_x_header
Опция позволяет включить логирование отправки почты из скриптов сайта. Логи будут содержать полный путь до скрипта, адрес получателя и заголовки. При указании пути к файлу, в который будут записываться логи (mail.log), замените u и user на первую букву Вашего логина и сам логин.
php_value mail.add_x_header 1 php_value mail.log /home/u/user/public_html/mail.log |
max_input_vars
Директива указывает, сколько входных переменных может быть принято в одном запросе. Например:
php_value max_input_vars 11000 |
mbstring.func_overload и mbstring.internal_encoding
Чаще всего к данным функциям требуется обращаться для настройки корректной работы сайтов на CMS Битрикс. В этом случае должны быть указаны следующие параметры:
php_value mbstring.func_overload 2 php_value mbstring.internal_encoding UTF-8 |
При этом для большинства других CMS необходимы иные значения этих функций:
php_value mbstring.func_overload 0 php_value mbstring.internal_encoding UTF-8 |
opcache.revalidate_freq
Отключение OpCache (настройка требуется для CMS Битрикс):
php_value opcache.revalidate_freq 0 |
pcre.recursion_limit
Устанавливает лимит на рекурсию.
php_value pcre.recursion_limit 14000 |
post_max_size
Опция устанавливает максимально допустимый размер данных, отправляемых методом POST. Также это значение также влияет на загрузку файлов — для загрузки больших файлов оно должно быть больше значения директивы upload_max_filesize.
php_value post_max_size 40M |
register_globals
Директивы для включения/выключения глобальных переменных:
php_flag register_globals on php_flag register_globals off |
request_order
Директива регулирует порядок, в котором PHP добавляет переменные GET, POST и Cookie в массив _REQUEST.
php_value request_order GPC |
upload_max_filesize
Устанавливает максимальный размер закачиваемого файла.
php_value upload_max_filesize 30M |
Html формы с полем отправки файла на Email
Html формы с полем отправки файла представлен ниже. При клике по кнопке »
» пользователь получает возможность выбрать файл на своей локальной машине. Читать далее Html формы с полем отправки файла на Email
Получить атрибут href ссылки на PHP | Web-Answers.Ru
Регулярные выражения для парсинга HTML — не очень удобная штука. Лучше воспользоваться встроенным в PHP объектом DOM, он сделает Ваш код более простым, быстрым и надёжным:
Код:
$dom = new DOMDocument;
$dom->loadHTML($html);
foreach ($dom->getElementsByTagName(‘a’) as $node) {
echo $dom->saveHtml($node), PHP_EOL;
}
Этот код выведет HTML-код всех ссылок, которые находятся в переменной $html.
Для работы с атрибутами есть следующие функции.
Проверить, существует ли атрибут href у Вашей ссылки:
Код:
if($node->hasAttribute( ‘href’ )) {
// …
}
Вывести значение атрибута href:
Код:
1
echo $node->getAttribute( ‘href’ );
Изменить значение атрибута href:
Код:
$node->setAttribute(‘href’, ‘something else’);
Удалить атрибут href:
Код:
$node->removeAttribute(‘href’);
А ещё можно работать с HTML-атрибутами непосредственно из XPath:
Код:
$dom = new DOMDocument;
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$nodes = $xpath->query(‘//a/@href’);
foreach($nodes as $href) {
echo $href->nodeValue; // выводим значение атрибута
$href->nodeValue = ‘new value’; // задаём новое значение атрибута
$href->parentNode->removeAttribute(‘href’); // удаляем атрибут
}
Источник: Получить атрибут href ссылки на PHP | Web-Answers.Ru.
Сумма прописью на php
Не помню где откопал, чуть поправил под себя, т.к. у меня есть класс subs, где лежат нужные функи и вот оно:
static function num2str($num) { $nul='ноль'; $ten=array( array('','один','два','три','четыре','пять','шесть','семь', 'восемь','девять'), array('','одна','две','три','четыре','пять','шесть','семь', 'восемь','девять'), ); $a20=array('десять','одиннадцать','двенадцать','тринадцать','четырнадцать' ,'пятнадцать','шестнадцать','семнадцать','восемнадцать','девятнадцать'); $tens=array(2=>'двадцать','тридцать','сорок','пятьдесят','шестьдесят','семьдесят' ,'восемьдесят','девяносто'); $hundred=array('','сто','двести','триста','четыреста','пятьсот','шестьсот', 'семьсот','восемьсот','девятьсот'); $unit=array( // Units array('копейка' ,'копейки' ,'копеек', 1), array('рубль' ,'рубля' ,'рублей' ,0), array('тысяча' ,'тысячи' ,'тысяч' ,1), array('миллион' ,'миллиона','миллионов' ,0), array('миллиард','милиарда','миллиардов',0), ); // list($rub,$kop) = explode('.',sprintf("%015.2f", floatval($num))); $out = array(); if (intval($rub)>0) { foreach(str_split($rub,3) as $uk=>$v) { // by 3 symbols if (!intval($v)) continue; $uk = sizeof($unit)-$uk-1; // unit key $gender = $unit[$uk][3]; list($i1,$i2,$i3) = array_map('intval',str_split($v,1)); // mega-logic $out[] = $hundred[$i1]; # 1xx-9xx if ($i2>1) $out[]= $tens[$i2].' '.$ten[$gender][$i3]; # 20-99 else $out[]= $i2>0 ? $a20[$i3] : $ten[$gender][$i3]; # 10-19 | 1-9 // units without rub & kop if ($uk>1) $out[]= self::morph($v,$unit[$uk][0],$unit[$uk][1],$unit[$uk][2]); } //foreach } else $out[] = $nul; $out[] = self::morph(intval($rub), $unit[1][0],$unit[1][1],$unit[1][2]); // rub $out[] = $kop.' '.self::morph($kop,$unit[0][0],$unit[0][1],$unit[0][2]); // kop return trim(preg_replace('/ {2,}/', ' ', join(' ',$out))); } /** * Склоняем словоформу * @ author runcore */ private function morph($n, $f1, $f2, $f5) { $n = abs(intval($n)) % 100; if ($n>10 && $n<20) return $f5; $n = $n % 10; if ($n>1 && $n<5) return $f2; if ($n==1) return $f1; return $f5; }
PHP, округление до десятков и сотен в большую сторону
Чтобы цена товара в интернет-магазине не была отпугивающей для посетителя, иногда нужно округлить её до целых десятков. Например, 113 руб до 120 руб, 458 руб до 460 руб.
В PHP есть готовые функции округления ceil и round, но в исходном виде для текущей задачи они не совсем подходят.
Так что кусочек простого и понятного кода вам в помощь:
$p = 112.12; // 112 рублей 12 копеек echo ceil($p/10) * 10; // 120 рублей ровно
если 10 сменить на 100, то получим округление до сотен и цена 112.12 превратится в 200 рублей.
Парсер товаров и изображений с сайта магазина Forum
Тем, кто задумал делать интернет магазин, а товары заполнять ручками лень, вот, пожалуйста: Читать далее Парсер товаров и изображений с сайта магазина Forum
Краткая форма условного оператора
Условный оператор
представляет собой компактную форму инструкции условия
.
Синтаксис:
expression ? true_value : false_value
Выполнение этой инструкции начинается с операнда
. Если значение выражения
истинно (true), то возвращается значение выражения
, иначе возвращается
.
В приведенном ниже примере выполняется выбор наименьшего из двух значений. Если значение
меньше
, то возвращается
, иначе возвращается
.
min = (а < b ? a : b);
Примеры использования условного оператора
Обычная форма записи условного оператора:
echo 'Число ';if ($number < 0) echo 'отрицательное';else echo 'положительное';
Компактная форма записи более удобна:
echo 'Число '.($number < 0 ? 'отрицательное' : 'положительное');