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

Блог » PHP


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

Вышел недавно новый, 3103 билд, великолепного текстового редактора Sublime text 3, что то они там поменяли, что привело к слетанию лицензии...
19.02.2016 16:40:30
admin
4417
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
admin
3310
5
Выбрать случайный элемент массива учитывая его "шансы"
PHP
Функция рандомно выбирает из списка вариант, но при этом учитывает процентный шанс выпадения того или иного варианта. В функцию задаётся массив с нужными нам вариантами и их "шансами".
16.04.2015 01:08:25
admin
1307
1
Определяем доступные серверу 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
admin
1277
1
Как спрятать версию nginx, apache и php
Туторы, PHP, Debian

Никому не нужно знать какое ПО стоит на сервере :)
16.07.2014 04:27:12
admin
2398
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
admin
1307
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
admin
3869
4
Как получить ключевое слово, по которому пользователь пришел на сайт
PHP

Ловим ключевые слова по которым пользователи приходят из ПС Яндекс, Гугл, Майл, Рамблер. Код довольно посредственный, буду из него делать свой вариант, с защитой от xss и прочей херней. Пусть полежит тут...
22.10.2013 19:56:19
admin
1421
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
admin
2336
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
admin
1088
0