-
PostGIS. Решаем ошибку «Cannot find SRID (4283) in spatial_ref_sys»
Сегодня в ходе борьбы с проекциями PostGis и MapServer столкнулся с неожиданной ошибкой — «Cannot find SRID (4283) in spatial_ref_sys». В этой статье я расскажу, как решить данную проблему. В ходе продолжительных поисков решения выяснилось, что по тем или иным причинам была очищена (полностью или частично) таблица spatial_ref_sys, находящаяся в нашей БД. Поэтому наша задача…
-
MySQL. Как перевести дату со строкового поля в формат даты?
Иногда дата в Базе Данных хранится в простом текстовом поле, а на в формате datetime. Причин этому может быть много — архитектура и потребности везде свои. Но как сортировать таблицу по дате и времени, если они в простом текстовом формате? Для этой задачи следует воспользоваться встроенной функцией MySQL STR_TO_DATE. Приведу пример: mysql> select str_to_date(«31/07/1990″,»%d/%m/%Y»); +—————————————+…
-
htaccess. Как настроить редирект с www на без www и обратно?
При продвижении сайта важно определить с основным зеркалом домена — точнее будет оно содержать www или нет. О том, как направлять весь трафик на одно зеркало — сейчас и пойдет речь. Речь идет о домене http://www.sitename.com и http://sitename.com. Делаем редирект с www на без www — т.е. основное зеркало — БЕЗ www: RewriteCond %{HTTP_HOST} ^www\.(.*)$…
-
Yii2. Php. Как узнать и вывести размер файла?
При выводе ссылки на скачивание какого-то файла очень хорошая практика показывать пользователю его объем, чтобы человек мог понять, стоит ему качать или нет. Сейчас я приведу простой пример, как узнать размер файла на php, а затем вывести его при помощи Yii2. Итак, код метода всего навсего 2 строки: public static function getFileSize( $path ){ $fileSize…
-
Yii2. Решаем 1 Number formatting failed: U_ILLEGAL_ARGUMENT_ERROR
Formatter — мощнейший хелпер в коробке Yii2. И все вроде с ним понятно, но вот буквально 10 минут назад столкнулся с ошибкой «Formatting currency value failed: 1 Number formatting failed: U_ILLEGAL_ARGUMENT_ERROR» при форматировании строки в GridView. Ошибка была странной, так как на одной странице пагинации выводилась сумма, а на следующей — выше приведенная ошибка. В…
-
Php. Как получить первый ключ в ассоциативном массиве?
Имея ассоциативный массив иногда нужно узнать не только кол-во элементов в нем, их типы и т.д. — а, элементарно, имя первого ключа в массиве. В этой статье я покажу, как получить это значение. Все достаточно просто и достаточно использования встроенных функций языка. Точнее их комбинации. array_shift(array_keys($array)) Эта строка быстро вернет нужное значение. По сути, мы…
-
Yii2. Как указать алиас в joinWith?
Для удобства работы с запросом, фильтрации и сортировки в сложных реляционных запросах удобно использовать joinWith. Но здесь иногда возникают трудности ввиду не очевидного присвоения алиаса для подключаемой таблицы. На самом деле же все достаточно просто. Исходя из ответа qiang на github: joinWith([ ‘customer’ => function ($q) { $q->from(‘customer cu’); }, ]) Таким образом мы можем…
-
Ubuntu. Apache. Как установить MaxMind’s GeoIP?
Опишу кратко эпопею по установке и обработке GeoIP на базе Ubuntu. Итак, кратко шаги, которые необходимо выполнить: Подготовка окружения: $ apt-get install apache2-prefork-dev $ apt-get install apache2-threaded-dev $ apt-get install libgeoip-dev Установка модуля $ wget http://www.maxmind.com/download/geoip/api/mod_geoip2/mod_geoip2-latest.tar.gzz $ tar xvfz mod_geoip2-latest.tar.gz $ cd mod_geoip_#.#.# $ apxs2 -i -a -L/usr/local/lib -I/usr/local/include -lGeoIP -c mod_geoip.c В случае недоступности…
-
Yii2. Как указать условие NOT NULL?
Приведу простой, но не очень очевидный ответ на вопрос, как следует указывать условие NOT NULL при работе с query builder. Код, на самом деле, очень прост. $post = Post::find() ->where([‘not’,[‘content’=>null]]) ->all(); Данный код сгенерирует именно тот запрос, что нам нужен и выберет записи, у которых content не равен NULL. Удачи!
