Архив категории ‘Заметки’
Использование XML Paser Functions при работе с шаблонами
Несмотря на то, что идея разделения кода и данных не нова, она сохраняет свою актуальность. Удобство неоспоримо — так как люди изменяющие данные зачастую не должны иметь доступ к коду.
В PHP синтаксис языка основан не внедрении кода в данные и в этой статье мы рассмотрим один из достаточно удобных способов их разделения. Способ будет основываться на языке XML.
Gzip + PHP + Apache
Вообще, к этому исходнику я не имею никакого отношения, но он мне так стильно понравился, что я его не мог не выложить. У меня все заработало с первого раза.
Основное назначение — передача HTML страниц между браузером и сервером в запакованном виде. У меня в среднем сжималось в 4 раза.
Одно «НО»: Не ставьте уровень сжатия больше 3 — размер не уменьшится, а нагрузка на сервер — еще как.
Читать дальше »
Bin2C — преобразование бинарных файлов в массив C/C++
Понадобилось мне в одной CGIшке, написанной на СИ, выдавать картинки, причем их не надо было создавать налету, они уже были в виде GIF файлов. Найти bin2c написанной пару лет назад (я думаю, что уже писал такую утилитку, и не один раз) не удалось, по этому быстренько написал на том, что было под рукой — PHP.
Таблица Unicode для русских букв
| 0×0410 | А | 0×0430 | а |
| 0×0411 | Б | 0×0431 | б |
| 0×0412 | В | 0×0432 | в |
| 0×0413 | Г | 0×0433 | г |
| 0×0414 | Д | 0×0434 | д |
| 0×0415 | Е | 0×0435 | е |
| 0×0401 | Ё | 0×0451 | ё |
| 0×0416 | Ж | 0×0436 | ж |
| 0×0417 | З | 0×0437 | з |
| 0×0418 | И | 0×0438 | и |
| 0×0419 | Й | 0×0439 | й |
| 0x041A | К | 0x043A | к |
| 0x041B | Л | 0x043B | л |
| 0x041C | М | 0x043C | м |
| 0x041D | Н | 0x043D | н |
| 0x041E | О | 0x043E | о |
| 0x041F | П | 0x043F | п |
| 0×0420 | Р | 0×0440 | р |
| 0×0421 | С | 0×0441 | с |
| 0×0422 | Т | 0×0442 | т |
| 0×0423 | У | 0×0443 | у |
| 0×0424 | Ф | 0×0444 | ф |
| 0×0425 | Х | 0×0445 | х |
| 0×0426 | Ц | 0×0446 | ц |
| 0×0427 | Ч | 0×0447 | ч |
| 0×0428 | Ш | 0×0448 | ш |
| 0×0429 | Щ | 0×0449 | щ |
| 0x042A | Ъ | 0x044A | ъ |
| 0x042B | Ы | 0x044B | ы |
| 0x042C | Ь | 0x044C | ь |
| 0x042D | Э | 0x044D | э |
| 0x042E | Ю | 0x044E | ю |
| 0x042F | Я | 0x044F | я |
Выделение всех URL в документе
Этот скриптик я использовал в первых выпусках рассылки на сервере www.codenet.ru.
Написан он на PHP и делает все ссылки «кликабельными».
Раздвигающиеся меню
Честно говоря, не понимаю людей которые устанавливают на свой сайт такие вещи, но иногда приходится.
Тестировалось в Mozilla и MS Internet Explorer. Пример тут.
Управление светодиодами на ноутбуке ASUS L3C
На ноутбуках ASUS, серии L3 есть четыре светодиода.
- Зеленый — питание или спящий режим;
- Условно красный (скорее оранжевый) — зарядка;
- Синий — новая почта;
- Условно желтый (скорее оранжевый) — WIFI.

Первый два работают всегда и у всех. Скорее всего, программно с ними вообще нельзя ничего сделать. Я не смог подобрать номер порта для них.
PHP класс для импорта новостей
В данной статье описан PHP класс для импорта новостей. Реализована поддержка стандартов rss091 и ultramode.txt.
Класс позволяет импортировать, обрабатывать и кэшировать новости с внешних серверов, таких как:
- http://www.codenet.ru/export/read.xml [rss091]
- http://news.yandex.ru/export.html [rss091]
- http://www.compulenta.ru/rss.xml [ultramode]
- http://www.phpnuke.org/backend.php [rss091]
- http://bsdtoday.spb.ru/ultramode.txt [ultramode]
- http://forum.novgorod.ru/ultramode.txt [ultramode]
- http://www.phpnuke.org/ultramode.txt [ultramode]
Для кэширования можно использовать временные файлы или MySql таблицу.
Использование библиотеки libjpeg
Зачастую результатом выполнения CGI приложения является не HTML документ, а картинка. В этой статье рассматривается просто и несложный способ генерации JPEG изображения с помощью библиотеки libjpeg.
Подключим заголовочные файлы. Так как мы пишем на C++ (уж не могу я отказаться от простых удобств этого языка), а libjpeg написана на C, то используем конструкцию extern «C»
Администрирование компьютерного класса
Опять попросили написать. :) Простая программка для администрирования компьютерного класса. Написана на Delphi. Доводить до ума времени нет, да и желания писать на Delphi тоже нет никакого, по этому выкладываю с исходниками.
