Вложенный в письмо файл winmail.dat

Иногда попадаются письма, которые не удается распарсить средствами модуля imap на php — вложения он упорно видит одним файлом winmail.dat . Это «подарок» от Microsoft Outlook, который когда пользователь выбирает тип письма RTF, не заморачиваясь завертывает в файл winmail.dat и письмо, и вложения и с письмом помимо заголовков отправляет только это вложение. А люди — которые не пользуются Outlook — по мнению Microsoft — это ваши проблемы 😉

Решение — использование консольной утилиты tnef. Например:

 

Полезные функции для работы с IP адресами

Собрал в кучку полезные функции для работы с IP адресами, которые наиболее часто использую.

Пример использования:

Результат:

 

Простой способ сохранить файл по нажатию кнопки на странице (HTML)

Задача: по нажатию кнопки на странице, чтоб вызывался диалог сохранения файла и собственно сохранялся произвольный файл с сервера.

Решение:

В коде html страницы упоминаем скрытую форму:

Добавляем туда же обработчик нажатия вида:

Ну код на сервере для:

save_file.php:

csvExport.php:

php: Fatal error: Allowed memory size of 134217728 bytes exhausted

Эта ошибка может возникать при использовании больших массивов или строк большой величины.

Решение: увеличиваем размер памяти под скрипты php в php.ini (по умолчанию 128М), например до:

PHP : Получаем последний день предыдущего месяца из текущей даты

Можно примерно так:

1 10 11 12 13 14 22