Html формы с полем отправки файла на Email

Html формы с полем отправки файла представлен ниже. При клике по кнопке «browse» пользователь получает возможность выбрать файл на своей локальной машине. Читать далее 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

Краткая форма условного оператора

Условный оператор (?:) представляет собой компактную форму инструкции условия if.

Синтаксис:

expression ? true_value : false_value

Выполнение этой инструкции начинается с операнда expression. Если значение выражения expression истинно (true), то возвращается значение выражения true_value, иначе возвращается false_value.

В приведенном ниже примере выполняется выбор наименьшего из двух значений. Если значение a меньше b, то возвращается a, иначе возвращается b.

min = (а < b ? a : b);

Примеры использования условного оператора

Обычная форма записи условного оператора:

echo 'Число ';if ($number < 0) echo 'отрицательное';else echo 'положительное';

Компактная форма записи более удобна:

echo 'Число '.($number < 0 ? 'отрицательное' : 'положительное');

Ошибки php через htaccess

Директивы  error_reporting и display_errors определяют, каким образом будут обрабатываться возникающие ошибки.
В момент настройки сайта  бывает важно увидеть, какие возникают ошибки. После отладки вывод ошибок обычно отключают по причинам безопасности, а также для того, чтобы появляющиеся уведомления не портили дизайн сайта.

Директива  error_reporting определяет, какие ошибки и уведомления показывать. Например, только критические или все.
Директива display_errors определяет выводить их на экран или нет. (Другая альтернатива — складывать ошибки в отдельный файл.)

Директивы можно задать в файле .htaccess или в самом php-коде с помощью ini_set(). Параметр, заданный в php-коде, переопределит значение, заданное в .htaccess.

Чтобы включить вывод  ошибок php, необходимо в .htaccess файле указать

php_flag display_errors on
php_flag display_startup_errors on

Чтобы выключить вывод ошибок php, необходимо установить:

php_flag display_errors off
php_flag display_startup_errors off