./comments
./contacts telegram: @stikname
email: ;

Блог » PHP


Вышел новый Sublime text 3 3103 (+ключ)
Софт, Верстка, PHP

Вышел недавно новый, 3103 билд, великолепного текстового редактора Sublime text 3, что то они там поменяли, что привело к слетанию лицензии...
19.02.2016 16:40:30
stk
1293
4
Как пинговать гугл и яндекс через XML RPC
Туторы, PHP
Пинг сайта и его страниц, для загона в гугл и возможно яндекс:
1. пинг страниц:

В интернете есть море списков с кучей RPC сервисов, но работают из них единицы. Методом долгих тестов и исключения были отобраны эти 4. Последний здесь для яндекса, не понятно работает он или нет, потому как сразу бот яндекса точно не приходит, но я всё же его использую, потому как других инструментов для rpc пинга в яндекс нет.
http://blogsearch.google.com/ping/RPC2
http://rpc.weblogs.com/RPC2
http://rpc.pingomatic.com
http://ping.blogs.yandex.ru/RPC2


В общем, качаем тут: http://scripts.incutio.com/xmlrpc/ класс для работы с xml rpc, он вам понадобится для использования в следующем скрипте.

Набросал код для пинга страницы, у меня в цмс код работает со всеми сервисами и пингует что нужно автоматически, его тут выкладывать не к чему. Для примера дам следующий код, дописывайте и внедряйте как вам нужно.
include 'class.ixr.php';
$siteName = "Тайтл страницы";
$pageURL = "http://domain.tld/page.html";
$url = parse_url("http://rpc.pingomatic.com");

$pingClient = new IXR_Client($url['host'],(isset($url['path']) ? $url['path'] : '/'));
if (!$pingClient->query('weblogUpdates.extendedPing', $siteName, $pageURL, '', $feedURL)) {
$pingClient = new IXR_Client($url['host'],(isset($url['path']) ? $url['path'] : '/'));
$pingClient->query('weblogUpdates.ping', $siteName, $pageURL);
}


Думаю тут всё вполне понятно. Три параметра - Тайтл/Страница/Сервис RPC

2. пинг сайтмапа:
Тут всё гораздо проще, нужно отправить запрос на определённую страницу гугла с параметром в качестве которого будет адресс сайтмапа на нашем домене.
http://www.google.com/ping?sitemap=http://domain.tld/sitemap.xml


Как то так...
20.11.2015 22:43:15
stk
1460
5
Выбрать случайный элемент массива учитывая его "шансы"
PHP
Функция рандомно выбирает из списка вариант, но при этом учитывает процентный шанс выпадения того или иного варианта. В функцию задаётся массив с нужными нам вариантами и их "шансами".
16.04.2015 01:08:25
stk
656
0
Определяем доступные серверу IP адреса
PHP
Получаем список IP адресов на сетевых интерфейсах сервера.

<?php
$ll = exec('ip addr show', $output);
$ips = array();
foreach ($output as $key => $value) {
if (preg_match("/brd ([0-9.]+) scope/i", $value,$match)) {
$ips[]=$match[1];
}
}
?>
10.02.2015 05:10:45
stk
538
1
Как спрятать версию nginx, apache и php
Туторы, PHP, Debian

Никому не нужно знать какое ПО стоит на сервере :)
16.07.2014 04:27:12
stk
1668
2
Функция для генерации уникального случайного числа
PHP
Считается что rand и mt_rand имеют какую то зависимость при генерации случайного числа, вроде как следующий код исправляет эту проблему и генерирует действительно случайное число.

function uniq_rand($min, $max) {
$n = range($min, $max);
shuffle($n);
return $n[0];
}

echo uniq_rand(1,100);


Update (2017.05.30):
Нынче, в php7 это дело решается функцией random_int(1,100) например. Скажем спасибо Гопнику228
22.05.2014 22:04:28
stk
710
6
Преобразование объекта в массив на PHP
PHP
Столкнулся с проблемой... оказалось не просто прогнать данные объекта через foreach. Потребовалось найти решение для преобразования объекта в обычный, многомерный массив.

function objectToArray($object) {
if( !is_object($object) && !is_array($object)) {
return $object;
}
if( is_object($object )) {
$object = get_object_vars($object);
}
return array_map('objectToArray', $object);
}
22.11.2013 04:53:28
stk
1848
3
Как получить ключевое слово, по которому пользователь пришел на сайт
PHP

Ловим ключевые слова по которым пользователи приходят из ПС Яндекс, Гугл, Майл, Рамблер. Код довольно посредственный, буду из него делать свой вариант, с защитой от xss и прочей херней. Пусть полежит тут...
22.10.2013 19:56:19
stk
707
2
Инвертирование регистра символов на PHP
PHP
Функции/варианты инвертирования регистра английских символов. Накопал куски, собрал, делюсь.

Требуется для превращения строки типа "Hello fAsdasdDS" в "hELLO FaSDASDds". Зачем? Нужно... )

echo strtr($str,
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz',
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ');


echo strtolower($str) ^ strtoupper($str) ^ $str;


function invertCase($str) {
$rslt="";
for ($i = 0; $i < strlen($str); $i++) {
$code = ord($str[$i]);
if ($code >= 65 && $code <= 90) {
$rslt .= chr($code + 32);
} else {
$rslt .= chr($code - 32);
}
}
return $rslt;
}
echo invertCase($str);


Конечно же на php.
17.09.2013 10:59:40
stk
871
2
Ошибка "It is not safe to rely on the system's timezone settings" в PHP 5.3
PHP


Опять же сегодня, после переустановки сервера, на него встал PHP 5.3.3 и сразу же столкнулся с ошибкой в функции strftime()
Warning: strftime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Moscow' for 'MSK/4.0/no DST' instead in


Решение проблемы проще некуда, в основной файл ядра CMS добавил строчку:
@date_default_timezone_set('Europe/Moscow');


Если другими словами - просто добавляете строчку в начало вашего PHP скрипта.
06.07.2013 23:19:08
stk
531
0