Никогда не было и вдруг опять..

Или разгаданная загадка почему не вставляется запись в БД с первой строкой взятой из файла. Долго думал, пока наконец не догадался поглядеть этот файл в HEX редакторе. А там…барабанная дробь..символ BOM от создателей блокнота в Windows 😉

В общем теперь я понял, что при обработке файлов, лучше на всякий случай всегда убирать этот интересный символ, дабы не попасть в просак. Примерно так:

PHP: как узнать какого размера файл может загрузить пользователь

Иногда, для того чтобы избежать ошибку, можно заранее о ней предупредить. Например, прежде чем предлагать загрузить файл на сервер, можно вывести сообщение о максимально возможном его размере. Определить размер файла для загрузки можно примерно так:

YII2: авторизация через Active Directory в шаблоне basic

Почти наверняка это делается легко и не принужденно, каким то другим способом, более стандартным, но: Мы не ищем легких путей (с). Поэтому велосипед.

Для начала в файле params.php добавим настройки необходимые для соединения с AD:

Далее изменим модель User.php следующим образом, добавив в него следующие функции:

И там-же заменим функцию:

В модели LoginFrom.php изменим функцию login():

В результате получим собственно возможность авторизации через AD, с сохранением пользователя AD если такового в БД нет, в базе данных.

Windows: Ошибка при установке YII через composer

Ошибка вида:

Решение:

скачать сертификат curl.haxx.se/ca/cacert.pem и подлогжить его в php.ini:

PHP: интересное поведение сложения чисел типа float

Был немножно удивлен сегодня, когда пытался сложить два числа типа float обычным оператором +. Например сложение чисел вида 59.86601 + 0,01 успешно выполнялось, а 59.86601+0,001 уже нет. Т.е. результирующее число оставалось прежним. Оказывается для точного сложения чисел, в PHP нужно использовать специальные операторы:

Например:

1 3 4 5 6 7 28