Архив рубрики: PHP

Своя mb_ucfirst функция в PHP
Своя mb_ucfirst функция в PHP

Как-то разрабатывая очередной WordPress плагин, мне понадобился аналог PHP функции ucfirst, только в mb_* интерпретации (т. е. для много байтовых строк). Зайдя на php нет, я был озадачен, такой функции нет. Прошерстив интернет, на stackoverflow было найдено одно (а может и два) решения.

читать далее...

Своя mb_ucfirst функция в PHP
Как определить IP пользователя в PHP
Как определить IP пользователя в PHP

В данной статье рассмотрим одну из распространенных задач в программировании на PHP. А именно, как в php определить ip пользователя.

Если я работаю не с фреймворком (к примеру таким как Yii), то использую одно из готовых решений в виде следующей функции:

function user_ip()
{
	if(getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"),"unknown"))
	{
		return getenv("HTTP_CLIENT_IP");
	}
	else if(getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown"))
	{
		return getenv("HTTP_X_FORWARDED_FOR");
	}
	else if(getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown"))
	{
		return getenv("REMOTE_ADDR");
	}
	else if(!empty($_SERVER['REMOTE_ADDR']) && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown"))
	{
		return $_SERVER['REMOTE_ADDR'];
	}
	
	return NULL;
}

читать далее...

Как определить IP пользователя в PHP
Как удалить элемент массива по ключу в PHP
Как удалить элемент массива по ключу в PHP

В данной короткой статье, рассмотрим пару примеров удаление элементов массива по его ключу.

Полный листинг кода ниже:

$array = [
	1 => 'One',
	'Two' => 3,
	'Three' => 'Three',
	4 => NULL,
];
echo "<pre dir='ltr'>";print_r($array); echo "</pre>";

if(isset($array['Two']))
{
	unset($array['Two']);
}
echo "<pre dir='ltr'>";print_r($array); echo "</pre>";

if(isset($array[4]))
{
	unset($array[4]);
}
echo "<pre dir='ltr'>";print_r($array); echo "</pre>";


if(array_key_exists(4, $array))
{
	unset($array[4]);
}
echo "<pre dir='ltr'>";print_r($array); echo "</pre>";

читать далее...

Как удалить элемент массива по ключу в PHP
Как определить регион по IP на PHP используя БД
Как определить регион по IP на PHP используя БД

В этой статье рассмотрим один из вариантов определения локации пользователя по его IP адресу. А именно, с использованием существующей базы регионов и присвоенным им IP адресов сети.

Существующих баз не мало. Но мне пришлось иметь дело с базой от сайта ip2location.com. Ничего плохого сказать о его базе не могу, т. к. моя область и область некоторых моих заказчиков по нему была найдена.

Первое что нам понадобится, это скачать файл с БД. Они его предоставляют в формате CSV. И скачать его можно с этой страницы.

Импорт данных файла регионов и IP

Следуйте инструкции в описании, и вы сэкономите время. Т.к. я изначально решил попробовать импортировать данные через phpMyAdmin (используя импорт CSV). И это заняло гораздо больше времени консольный импорт.
читать далее...

Как определить регион по IP на PHP используя БД
Как удалить элемент массива по значению
Как удалить элемент массива по значению

Казалось бы довольно тривиальная задача, и нужная ф-я должна быть встроена в ядро PHP, но нее к сожалению нет. И приходится находить свои решения для реализации данного функционала. Одно из решений удаления элемента массива по его значению приведено ниже:

if(($delete_key = array_search($search_value, $my_array)) !== false)
{
	unset($my_array[$delete_key]);
}

Можно сказать две строки — и функционал готов.

читать далее...

Как удалить элемент массива по значению