Офис НП AMWAY в Ярославле
Купить продукцию Амвей в Ярославле
На карте Купить AMWAY в ЯрославлеПриобрести высококачественную продукцию Амвей в Ярославле, получить консультации по бизнесу, заказать продукцию или получить заказ:
Адрес: улица Валентины Терешковой, дом 1 (Вход со двора)
Телефон: +7 (920) 112-00-91
Email: matyxho@mail.ru
Сайт: https://www.amway.ru/user/lebedem
Визитка: http://yar.meweb.ru
FAQ (готовые сниппеты): PHPДобавить сниппет Авторизация Добавить сниппет
FAQ (готовые сниппеты) » PHP
Вернуться на предыдущую страницуВыводим сообщение пользователям устаревших браузеров Internet ExplorerВырезаем http:// и возможный слеш в конце адресаВырезать повторяющиеся символы из текста
Закрываем страницу (сайт) для поисковых роботовЛистинг всех файлов в директорииКонвертация тега переноса BR в символ новой строкиПроверка валидности email
Проверка заголовков, отдаваемых при запросе файла с сервераПросмотр исходного кода страницыПростая функция bb-кодовПростая функция типографа
Простой калькуляторПодсветка слов в текстеПолучаем адрес на карте GoogleПолучаем GIF- анимацию из видео
Удаление всех ссылок (url) из текстаФункция генерации нового названияФункция замены (скрытия) символов звездочкамиФункция преобразования размера файлов
Функция преобразования hex в rgbФункция проверки на целое числоФункция определения протокола сайтаФункция хэширования пароля
Вернуться на предыдущую страницу
Кнопка "Назад" средствами PHP
Код: PHP
    if (isset($_SERVER['HTTP_REFERER'])){
echo "<a href='".htmlspecialchars($_SERVER['HTTP_REFERER'])."'>Вернуться назад</a>";
}


Добавлено: Опубликовал  Pisatel Pisatel Добавлено  19 августа 2014 08:07:26 19. августа 2014
Теги сниппета: php referer server 

Вверх
Выводим сообщение пользователям устаревших браузеров Internet Explorer
Код: PHP
    if (isset($_SERVER['HTTP_USER_AGENT']) && preg_match("/msie [5-8]/i", $_SERVER['HTTP_USER_AGENT'])){
echo "Ваша версия браузера устарела!";
}


Добавлено: Опубликовал  Pisatel Pisatel

Вверх
Вырезаем http:// и возможный слеш в конце адреса
Код: PHP
    $url = "http://www.meweb.ru/articles.php";
$url = preg_replace("/(http(s*):\/\/|(\/.*)*)/", "", $url);
echo $url;
// выведет www.meweb.ru


Добавлено: Опубликовал  Pisatel Pisatel Добавлено  04 июня 2014 15:48:39 04. июня 2014 Последнее обновление:  05 июня 2014 14:40:08 05 июня 2014 14:40:08

Вверх
Вырезать повторяющиеся символы из текста
Вырезаем повторяющиеся многократно символы .......... или ??????? или )))))))) или !!!!!!!! или ((((((((, и оставляем только 3
Код: PHP
    function cleanText($text){
$text = preg_replace("#(\.|\?|!|\(|\)){3,}#", "\1\1\1", $text);
return $text;
}


Добавлено: Опубликовал  Pisatel Pisatel

Вверх
Закрываем страницу (сайт) для поисковых роботов
Этот небольшой фрагмент поможет не допустить вторжения поисковых роботов в ваши владения (официальных)
Код: PHP
    if (isset($_SERVER['HTTP_USER_AGENT'])) {
$bot = preg_match("/(yandex|google|msnbot|bingbot|mail|yahoo|rambler|aport|webcrawler|webalta)/i", htmlspecialchars($_SERVER['HTTP_USER_AGENT'], ENT_QUOTES)) ? TRUE : FALSE;
} else {
$bot = FALSE;
}

if ($bot) {
die("Доступ запрещен");
}


Добавлено: Опубликовал  Pisatel Pisatel Добавлено  04 ноября 2015 08:37:14 04. ноября 2015 Последнее обновление:  21 апреля 2016 09:33:54 21 апреля 2016 09:33:54
Теги сниппета: php php function яндекс yandex google 

Вверх
Листинг всех файлов в директории
Такой вот небольшой фрагмент кода покажет все файлы с заданным расширением в обозначенной директории
Код: PHP
// директория для листинга файлов

// можно задать любые расширения и пути, например
//$files = glob('/path/to/dir/*.xml');
$files = glob('*.php');
// задаем ссылки на все файлы с расширением .php
// чтобы задать исключения, делаем так
$files = array_diff($files, array('index.php', 'opendb.php'));

// то есть index.php и opendb.php в листинг не попадут

foreach ($files as $value) {
echo "<a href='http://www.meweb.ru/".$value."'>".$value."</a><br />";
}


Добавлено: Опубликовал  Pisatel Pisatel

Вверх
Конвертация тега переноса BR в символ новой строки
Код: PHP
    $text = preg_replace("/<br(\s*+)?\/?\>/i", "\n", $text);


Добавлено: Опубликовал  Pisatel Pisatel

Вверх
Проверка валидности email
Код: PHP
    $email = $_POST['email'];
$valid_email = preg_match("/~([a-zA-Zа-яА-Я0-9!#$%&'*+-/=?^_`{|}~])@([a-zA-Zа-яА-Я0-9-]).([a-zA-Zа-яА-Я0-9]{2,6})~/i", $email) ? "Верно" : "Неверно";


Добавлено: Опубликовал  Pisatel Pisatel Добавлено  19 августа 2014 10:40:42 19. августа 2014
Теги сниппета: php mail valid email 

Вверх
Проверка заголовков, отдаваемых при запросе файла с сервера
Делал загрузку описаний видео с youtube через их api и столкнулся с проблемой: как проверять, что мне отдает сервер, если введен неверный ID видео. Ответ оказался прост: читаем заголовки отдаваемые сервером, код 200- ок, остальные нам не нужны.
Код: PHP
    $api = 'http://gdata.youtube.com/feeds/api/videos/{ID}?v=2';
$headers = get_headers($api);
// ^ читаем заголовки
$youtube = strpos($headers[0], '200') ? simplexml_load_file($api) : '';
// если в первой строке есть код 200- загружаем xml файл
if (!empty($youtube)){
// здесь все манипуляции
} else {
// здесь то, что при ошибке
}


Добавлено: Опубликовал  Pisatel Pisatel Добавлено  30 июня 2014 18:34:18 30. июня 2014
Теги сниппета: php заголовок headers 

Вверх
Просмотр исходного кода страницы
С помощью данного кода можно просмотреть html код любой страницы сайта
Код: PHP
    $url = "http://www.meweb.ru/";
$lines = file($url);
foreach($lines as $line_num => $line){
echo "Строка #<b>{$line_num}</b> : ".htmlspecialchars($line)."<br />\n";
}


Добавлено: Опубликовал  FileMan FileMan Добавлено  04 июня 2014 16:54:50 04. июня 2014
Теги сниппета: php html исходный код 

Вверх
Простая функция bb-кодов
Код: PHP
    function bb_code($text){
$text = preg_replace("/\[b\](.*?)\[\/b\]/is", "<strong>\\1</strong>", $text);
$text = preg_replace("/\[i\](.*?)\[\/i\]/is", "<i>\\1</i>", $text);
$text = preg_replace("/\[u\](.*?)\[\/u\]/is", "<u>\\1</u>", $text);
$text = preg_replace("/\[s\](.*?)\[\/s\]/is", "<s>\\1</s>", $text);
$text = preg_replace('#\[url\]([\r\n]*)(http://|ftp://|https://|ftps://)([^\s\'\"]*?)([\r\n]*)\[/url\]#sie', "'<a href=\'\\2\\3\' target=\'_blank\' title=\'\\2\\3\'>'.(strlen('\\2\\3')>30?substr('\\2\\3', strlen('\\2\\3')-10, strlen('\\2\\3')):'').'</a>'", $text);
$text = preg_replace('#\[url\]([\r\n]*)([^\s\'\"]*?)([\r\n]*)\[/url\]#sie', "'<a href=\'http://\\2\' target=\'_blank\' title=\'\\2\'>'.(strlen('\\2')>30?substr('\\2', strlen('\\2')-10, strlen('\\2')):'').'</a>'", $text);
$text = preg_replace('#\[url=([\r\n]*)(http://|ftp://|https://|ftps://)([^\s\'\"]*?)\](.*?)([\r\n]*)\[/url\]#si', '<a href=\'\2\3\' target=\'_blank\' title=\'\2\3\'>\4</a>', $text);
$text = preg_replace('#\[url=([\r\n]*)([^\s\'\"]*?)\](.*?)([\r\n]*)\[/url\]#si', '<a href=\'http://\2\' target=\'_blank\' title=\'\2\'>\3</a>', $text);
return $text;
}


Добавлено: Опубликовал  Pisatel Pisatel

Вверх
Простая функция типографа
Код: PHP
 function typograf($text){
$search = array(" - ", "(c)", "(с)", "(r)", "(tm)");
$replace = array("&nbsp;&mdash;&nbsp;", "&copy;", "&copy;", "&reg;", "&trade;");
$text = str_ireplace($search, $replace, $text);
$text = nl2br($text);
return $text;
}
// применение
echo typograf($text);


Добавлено: Опубликовал  Pisatel Pisatel

Вверх
Простой калькулятор
Простейший калькулятор: сложение, вычитание, умножение, деление
Код: PHP
    $calc = "<form method='POST' action=''>";
$calc .= "Первое число <input type='text' name='a' value='5' /><br />";
$calc .= "Второе число <input type='text' name='b' value='5' /><br /><br />";
$calc .= "<input type='radio' name='operation' checked value='+'/>Сложение<input type='radio' name='operation' value='-'/>Вычитание
<input type='radio' name='operation' value='*'/>Умножение
<input type='radio' name='operation' value='/'/>Деление<br /><br />";
$calc .= "<input type='submit' name='vichislit' value='Вычислить'>&nbsp;";
$calc .= "<input type='reset' name='ochistit' value='Отменить'>";
$calc .= "</form>";
$result = "";
$error = "";
$vichislit = trim(htmlspecialchars($_POST['vichislit']));
$ochistit = trim(htmlspecialchars($_POST['ochistit']));
$a = trim(htmlspecialchars($_POST['a']));
$b = trim(htmlspecialchars($_POST['b']));
$radio = trim(htmlspecialchars($_POST['operation']));
if (isset($vichislit) && !empty($vichislit)){
$result .= "Результат&nbsp;";
if (is_numeric($a) && is_numeric($b)){
if ($radio == '+'){
$c = $a+$b;
$result .= "суммы: ".$a."+".$b."=".$c."<br />";
} elseif ($radio == '-'){
$d = $a-$b;
$result .= "разности: ".$a."-".$b."=".$d."<br />";
} elseif ($radio == '*'){
$e = $a*$b;
$result .= "произведения: ".$a."*".$b."=".$e."<br />";
} elseif ($radio == '/'){
$f = $a/$b;
$result .= "деления: ".$a.":".$b."=".$f;
} else {
$result .= "Произошла ошибка. Попробуйте еще раз.";
}
} else {
$error .= "Ошибка. Разрешены только цифры";
}
}
echo $calc.$result.$error;


Добавлено: Опубликовал  Pisatel Pisatel

Вверх
Подсветка слов в тексте
Пригодится, например, для подсветки слов при поиске. Данный пример "подсветит" точное совпадение meweb.ru
Код: PHP
    $text = "Самый лучший сайт- meweb.ru в сети! На сайте meweb.ru Вы, возможно, найдете что-нибудь интересное!";
$text = preg_replace("/b(meweb\.ru)b/i", "<span style='color:#ff0000;'>\\1</span>", $text);
echo $text;


Добавлено: Опубликовал  Pisatel Pisatel

Вверх
Получаем адрес на карте Google
Подойдет, например, чтобы отображать город на карте в профиле пользователя. Для начала- функция, чтобы преобразовать русские буквы (можете использовать свою)
Код: PHP
    function stripTitle($title){
static $convertTable = array (
'а' => 'a', 'А' => 'A', 'б' => 'b', 'Б' => 'B', 'в' => 'v',
'В' => 'V', 'г' => 'g', 'Г' => 'G', 'д' => 'd', 'Д' => 'D',
'е' => 'e', 'Е' => 'E', 'ё' => 'yo', 'Ё' => 'Yo', 'ж' => 'zh',
'Ж' => 'Zh', 'з' => 'z', 'З' => 'Z', 'и' => 'i', 'И' => 'I',
'й' => 'y', 'Й' => 'Y', 'к' => 'k', 'К' => 'K', 'л' => 'l',
'Л' => 'L', 'м' => 'm', 'М' => 'M', 'н' => 'n', 'Н' => 'N',
'о' => 'o', 'О' => 'O', 'п' => 'p', 'П' => 'P', 'р' => 'r',
'Р' => 'R', 'с' => 's', 'С' => 'S', 'т' => 't', 'Т' => 'T',
'у' => 'u', 'У' => 'U', 'ф' => 'f', 'Ф' => 'F', 'х' => 'h',
'Х' => 'H', 'ц' => 'ts', 'Ц' => 'Ts', 'ч' => 'ch', 'Ч' => 'Ch',
'ш' => 'sh', 'Ш' => 'Sh', 'щ' => 'shch', 'Щ' => 'Shch',
'ъ' => '', 'Ъ' => '', 'ы' => 'i', 'Ы' => 'I', 'ь' => '',
'Ь' => '', 'э' => 'e', 'Э' => 'E', 'ю' => 'yu', 'Ю' => 'Yu',
'я' => 'ya', 'Я' => 'Ya');
$title = strtr($title, $convertTable);
$title = str_replace(' ', '%20', $title);
return $title;
}



Ну и ссылка на изображение
Код: PHP
    $city = "Ярославль";
$location = "<img src='http://maps.googleapis.com/maps/api/staticmap?center=".stripTitle($city)."&amp;size=390x120&amp;maptype=roadmap&amp;sensor=false' alt='".$city."' />";
echo $location;


Добавлено: Опубликовал  Pisatel Pisatel

Вверх
Получаем GIF- анимацию из видео
Для работы у вас на сервере должна быть установлена библиотека ffmpeg:
Код: PHP
    $file = "myfile.avi";
$movie = new ffmpeg_movie($file);
$gif = new ffmpeg_animated_gif("image.gif",100, 100, 24);
for($frame = 150;$frame <= 200; $frame++){
$image = $movie -> getFrame($frame);
$gif -> addFrame($image);
}


Добавлено: Опубликовал  Pisatel Pisatel

Вверх
Удаление всех ссылок (url) из текста
Из раздела- "делать было нечего..." В общем, удаляем все ссылки из текста, этакая антиреклама
Код: PHP
    $text = "На нашем [ url=http://www.meweb.ru/articles.php]сайте[/url ] вы найдете полезные статьи. Так же на сайте http://www.meweb.ru/faq.php можно найти всевозможные сниппеты. Еще на сайте <a href='http://www.meweb.ru/forum/index.php'>http://www.meweb.ru/forum/index.php</a> есть форум, на котором можно задать вопросы. [ url]http://www.meweb.ru[/url ] - рекомендуем!";
function replaceUrl($text){
preg_match_all("#((\[url=.*?\].*?\[\/url\])|(\[url\].*?\[\/url\])|(<a\shref=[\r\n\'\"]*.*?[\r\n\'\"]*>.*?<\/a>)|(\shttps*:\/\/.*?[^\s]*)?)*#si", $text, $matches, PREG_PATTERN_ORDER);
if (count($matches[0])>0){
for($i=0; $i<count($matches[0]); $i++) {
$text = str_replace($matches[$i], "<strong> *реклама* </strong>", $text);
}
}

return $text;
}
// использование
echo replaceUrl($text);

// получилось:
// На нашем *реклама* вы найдете полезные статьи. Так же на сайте *реклама* можно найти всевозможные сниппеты. Еще на сайте *реклама* есть форум, на котором можно задать вопросы. *реклама* - рекомендуем!


Добавлено: Опубликовал  Pisatel Pisatel

Вверх
Функция генерации нового названия
Генерация нового названия, если файл с таким именем уже существует
Код: PHP
    function file_newname($path, $filename){
if ($pos = strrpos($filename, ".")) {
$name = substr($filename, 0, $pos);
$ext = substr($filename, $pos);
} else {
$name = $filename;
}
$newpath = $path."/".$filename;
$newname = $filename;
$counter = 0;
while (file_exists($newpath)){
$newname = $name."_".$counter.$ext;
$newpath = $path."/".$newname;
$counter++;
}
return $newname;
}


Добавлено: Опубликовал  Pisatel Pisatel

Вверх
Функция замены (скрытия) символов звездочками
Пригодится, например, для частичного скрытия номера телефона, пароля и т.д. Второй параметр- число символов, которые не будут скрыты
Код: PHP

function starOut($string, $number){
$star = "";
if (is_numeric($number) && $number < strlen($string)){
$star = str_repeat("*", (strlen($string) -$number)).substr($string, -$number, $number);
}
return $star;
}

// пример
$myphone = "+7(123)4567890";
echo starOut($myphone, 4);
// получим **********7890
$mypass = "Zdk7UMj9ft85";
echo starOut($mypass, 6);
// получим ******j9ft85


Добавлено: Опубликовал  Pisatel Pisatel

Вверх
Функция преобразования размера файлов
Код: PHP
    function parseByteSize($size, $digits = 2, $dir = false){
$kb = 1024;
$mb = 1024 * $kb;
$gb= 1024 * $mb;
$tb = 1024 * $gb;
if (($size == 0) && ($dir)){
return "Пусто";
} elseif ($size < $kb){
return $size."Байт";
} elseif ($size < $mb){
return round($size / $kb,$digits)."кБ";
} elseif ($size < $gb){
return round($size / $mb,$digits)."МБ";
} elseif ($size < $tb){
return round($size / $gb,$digits)."ГБ";
} else {
return round($size / $tb, $digits)."ТБ";
}
}


Добавлено: Опубликовал  Pisatel Pisatel

Вверх
Функция преобразования hex в rgb
Функция для преобразования цвета из формата hex в rgb
Код: PHP
    function hex2rgb($hex) {
$hex = str_replace("#", "", $hex);
if (strlen($hex) == 3) {
$r = hexdec(substr($hex,0,1).substr($hex,0,1));
$g = hexdec(substr($hex,1,1).substr($hex,1,1));
$b = hexdec(substr($hex,2,1).substr($hex,2,1));
} else {
$r = hexdec(substr($hex,0,2));
$g = hexdec(substr($hex,2,2));
$b = hexdec(substr($hex,4,2));
}
$rgb = array($r, $g, $b);
return implode(", ", $rgb);
}



Пример использования:
Код: PHP
    $hex = "#000000";
echo hex2rgb($hex); // выведет 0, 0, 0 во всех случаях
$hex = "000000";
echo hex2rgb($hex);
$hex = "#000";
echo hex2rgb($hex);
$hex = "000";
echo hex2rgb($hex); // то есть, функция принимает и сокращенный формат hex, и полный
// с # или без


Добавлено: Опубликовал  Pisatel Pisatel Добавлено  25 марта 2015 18:22:24 25. марта 2015

Вверх
Функция проверки на целое число
Данная функция взята из CMS PHP Fusion. Она весьма удобна при проверке, например, $_GET или $_POST запросов
Код: PHP
    function isnum($value) {
if (!is_array($value)) {
return (preg_match("/^[0-9]+$/", $value));
} else {
return false;
}
}



Пример использования
Код: PHP
    if (isnum($_GET['article_id'])){
echo "Верно";
} else {
echo "Переданный параметр не является числом";
}


Добавлено: Опубликовал  Pisatel Pisatel

Вверх
Функция определения протокола сайта
Код: PHP
    function getCatProtocol() {
if (!empty($_SERVER['HTTP_X_FORWARDED_PROTO'])) {
return $_SERVER['HTTP_X_FORWARDED_PROTO']."://";
} else {
return !empty($_SERVER['HTTPS']) ? "https://" : "http://";
}
}


Добавлено: Опубликовал  Pisatel Pisatel Добавлено  21 апреля 2016 09:32:15 21. апреля 2016
Теги сниппета: php php function http https протокол 

Вверх
Функция хэширования пароля
Код: PHP
    function hashPassword($strPass) {
$value = $strPass[1];
if(preg_match("/^[a-f]+/i", $value)) {
$salt = "!";
}
else {
$salt = "#";
}
if(preg_match("/^[g-m]+/i", $value)) {
$salt = "@";
}
if(preg_match("/^[n-s]+/i", $value)) {
$salt = "$";
}
if(preg_match("/^[t-z]+/i", $value)) {
$salt = "%";
}

$strPass .= $salt;
$hash = hash("sha512", $strPass); // sha512 - 128 символьная кодировка
return $hash;
}
// пример
$mypass = "12345678";
echo hashPassword($mypass);
// выведет 28b438d589b5b242095034f0eb65cd51dbf6add9bf439ae176b26b667ae16cb6836491275877a36e31d8e75e9102534d676cf719aac2c5a288bb801bae488fb7


Добавлено: Опубликовал  Pisatel Pisatel

Вверх
Последние активные темы форума
  Темы Просмотров Ответов Последние сообщения
folder Вопрос по переделке bb-кода
PHP, MySQL
424 5 Pisatel
26. мая 2017
folder Вопросы по Ajax форме обратной связи
CMS PHP Fusion
3311 48 Ditrin
19. февраля 2017
folder BBCode YouTube Video Colorbox mod
CMS PHP Fusion
5589 2 Pisatel
10. декабря 2016
folder Как лучше создать собственную страницу?
CMS PHP Fusion
3200 17 Pisatel
11. мая 2016
folder Небольшие вопросы по скриптам магазина и катало...
PHP, MySQL
34273 80 Pisatel
11. января 2016
folder BBCode Code mod
CMS PHP Fusion
2582 0 Pisatel
31. августа 2015
folder Ajax Like Dislike Article Panel
CMS PHP Fusion
4475 16 Pisatel
07. июля 2015
folder Хлебные крошки / BreadCrumbs SEO Panel
CMS PHP Fusion
4996 17 Pisatel
04. июля 2015
folder Abbr Description BBCode
CMS PHP Fusion
1845 0 Pisatel
15. июня 2015
folder Плагин Email рассылки Mail To All by Pisatel
CMS PHP Fusion
6878 32 Pisatel
26. апреля 2015
folder Подозрительный трафик и прочие страшилки
Всякая хрень
2946 2 Ditrin
23. апреля 2015
folder Мод Newsletter - рассылка писем пользователям с...
CMS PHP Fusion
4295 13 Pisatel
10. апреля 2015
folder Мод отправки писем PHPMailer для PHP-Fusion
CMS PHP Fusion
19555 113 Ditrin
06. апреля 2015
folder Появление неизвестного файла subscriptions.php
CMS PHP Fusion
2230 2 Pisatel
06. апреля 2015
folder Autoban on IP
CMS PHP Fusion
9711 13 Pisatel
03. апреля 2015