Эта книга - отличное начало для тех, кто хочет научиться писать CGI-npoграммы, обеспечивающие вывод динамически изменяемых данных на веб-сайте, и уже немного знаком с языком Perl, пользующимся большой популярностью среди веб-разработчиков. Данное издание,в основу которого положен бестселлер `CGI программирование в WWW`, полностью переписано, с целью познакомить читателей с современными технологиями, доступными благодаря модулю CGI.pm и последним версиям языка Perl. В книге приводятся примеры создания высокопроизводительных и безопасных CGI-приложений, подробно описывается модуль CGI.pm, дан обзор протокола HTTP, обсуждается применение JavaScript для обработки форм, работа с базами данных, вывод динамической графики, создание поисковой системы и системына основе XML, а также многое другое. Данное издание будет прекрасным руководством и незаменимым справочником. Содержащийся в нем материал позволит вам стать хорошим CGI-разработчиком.
Среди разработчиков программных продуктов под Windows в России особой популярностью пользуется среда быстрой разработки приложений Inprise Delphi. Эта популярность завоевана, прежде всего, простотой, легкостью в изучении и использовании. К большому сожалению автора, многие люди, связавшие свою профессиональную деятельность с разработкой программного обеспечения, считают Delphi несерьезным инструментом для создания профессиональных приложений. Это послужило одним из мотивов, побудившим автора к написанию книги. В данной книге показаны те возможности Delphi, которые часто не используются разработчиками. Автору известны программисты, которые не знакомы с созданием СОМ-объектов при помощи Delphi. Эти разработчики пишут программное обеспечение на Delphi, но работают с OCX, написанными ими же самими в других средах программирования. В этом и других случаях так происходит из-за незнания достаточно мощных инструментов программирования, которые предоставляет Delphi.
Для операционной системы Linux долгое время не было достаточно простой среды быстрой разработки приложений. Многие программисты, которые успешно создают программы для Windows, используют среду Borland Delphi. В нашей стране Delphi пользуется особой популярностью как среди начинающих разработчиков, так и среди профессионалов. Многие из них готовы создавать программы для среды Linux, но не было среды, похожей на Delphi. Наконец, летом 2001 года фирма Borland выпустила среду для быстрой разработки приложений в среде Linux и назвала ее Kylix (Kylix — это античная винная чаша, расписанная с внешней и внутренней стороны). На первый взгляд, эта среда — практически копия Delphi, но есть некоторые отличия. Причем эти отличия являются довольно опасными, т. к. одна и та же команда в Delphi и Kylix может привести к совершенно разным последствиям. Данная книга представляет собой краткий обзор среды Kylix версии Kylix Server Developer. С помощью нее вы узнаете особенности среды Kylix и ее отличия от Delphi. Кроме того, заключительная часть книги расскажет вам о методах переноса приложений из Delphi в Kylix и создании межплатформенных приложений.
Книга предназначена для всех желающих изучить среду Kylix и научиться создавать работоспособные программы под Linux. Стиль изложения материала — от простого к сложному, приведены многочисленные примеры. Конечно, желательно, чтобы читатель был знаком (хотя бы поверхностно) с операционной системой Linux и программированием. Данная книга будет читаться еще легче, если вы знакомы с программированием в Delphi.
В данном объеме невозможно охватить все аспекты программирования в Kylix, поэтому в конце книги приводится список литературы и ссылки на сайты в Интернете, из которых читатель сможет почерпнуть отсутствующую в книге информацию.
Чтобы упростить ориентирование во все более разрастающемся Интернете, была разработана система DNS (Domain Name System - система именования доменов сети). Дело в том, что каждому компьютеру или компьютерной сети, подключенной к Интернету, назначается уникальная последовательность цифр, называемая IP-адресом.
IP-адрес состоит из четырех чисел, от 0 до 255 каждое, например 198.105.232.001. Зная IP-адрес, пользователь одного компьютера с легкостью находит другой компьютер в Интернете, и может к нему подключиться, если у него есть на это соответствующие права. Все просто, когда вам нужно получать доступ к одному-двум компьютерам, но если их количество переваливает за десяток или даже за сотню, а, тем более, если вам необходимо сообщать определенный IP-адрес многим людям, ситуация становится поистине кошмарной.
Избавиться от подобных проблем помогает система имен DNS. Она позволяет заменять цифровые IP-адреса на благозвучные буквенные, например: «microsoft.com» или «yandex.ru». Как же работает DNS? Все Интернет-пространство можно разделить на несколько групп, называемых «доменными зонами». Эти зоны называются доменами первого уровня. Разделение по зонам может проводиться как по географическому, так и по тематическому признаку. Географическая доменная зона определяет расположение компьютера в том или ином государстве. Вот несколько примеров географических доменов первого уровня: ru - Россия, fr - Франция, uk - Великобритания, jp - Япония, su - бывший Советский Союз. Тематические доменные зоны группируют компьютеры по информации, содержащейся на них, либо по типу организаций, ими владеющих, вне зависимости от их географического расположения.
Два компьютера, зарегистрированные в одной тематической доменной зоне, могут находиться в противоположных концах земного шара. Вот примеры тематических доменных зон: com - коммерческое предприятие, net - что-то связанное с сетевыми технологиями, edu - образовательное учреждение, info - информационный проект, gov - государственное учреждение, biz - бизнес-проект, mil - военная организация. Несмотря на обилие доменных зон, далеко не все из них пользуются большой популярностью. Основная часть компьютеров в Интернете зарегистрирована в доменных зонах com и net. Некоторые доменные зоны используются и вовсе не по прямому назначению. Например, островное государство Тувалу стало обладателем географической доменной зоны tv, которую сейчас облюбовали организации, так или иначе связанные с телевидением: телеканалы, производители бытовой техники, киноделы, рекламщики и прочие...
Каждая доменная зона делится на поддомены, или домены второго уровня, и каждому из этих поддоменов присваивается свое имя, например совпадающее с названием организации, владеющей доменом. Это имя приписывается к имени домена верхнего уровня слева, в виде суффикса, и отделяется точкой. Например, в имени microsoft.com строка com означает доменную зону, а суффикс microsoft - имя домена второго уровня. Как нетрудно догадаться, по этому адресу находится сеть, принадлежащая корпорации Microsoft. Однако сеть корпорации Microsoft весьма велика, поэтому каждый домен второго уровня, в свою очередь, может делиться еще на несколько подподдоменов, или доменов третьего уровня. Это записывается так - mail.microsoft.com. В этом примере mail - это суффикс домена третьего уровня. Такое деление может продолжаться до бесконечности, но обычно ограничивается доменами третьего-четвертого уровня.
Общее руководство и контроль над доменными зонами, осуществляет организация ICANN (The Internet Corporation for Assigned Names and Number - Интернет-ассоциация по выдаче имен и чисел). Она передает полномочия на выдачу адресов в той или иной доменной зоне другим организациям и следит за соблюдением основных правил. Организации, уполномоченные выдавать доменные адреса в той или иной доменной зоне, торгуют доменными адресами второго уровня. То есть, если кто-то хочет, чтобы у его компьютера в Интернет был адрес vasya-pupkin.com, он должен обратиться к организации, выдающей доменные имена в зоне com. Затем попросить зарегистрировать в ней домен второго уровня vasya-pupkin, предоставить IP-адрес своего компьютера в Сети и, разумеется, уплатить некоторую сумму денег. В результате, компьютер Васи в Интернете можно будет отыскать не только по малопонятному набору цифр IP-адреса, но и по звучному текстовому адресу.
При желании, одному IP-адресу можно сопоставить даже несколько доменных имен, например vasya-pupkin.com и vasiliy.ru. Адреса в Российской доменной зоне выдает организации РосНИИРОС, Российский НИИ развития общественных сетей.
Современный Интернет представляет собой сложнейшую систему из тысяч компьютерных сетей, объединенных между собой. Состоит эта система из двух основных элементов: узлов сети Интернет и соединяющих их информационных магистралей. Узлом Интернета называют любое устройство, имеющее свой IP-адрес и подключенное к Сети. Несмотря на кажущуюся мешанину межкомпыотерных соединений и отсутствие централизованного руководства, Интернет имеет определенную иерархическую структуру.
В самом низу иерархии находится многочисленная армия конечных пользователей. Часто не имеющие даже постоянного IP-адреса подключаются к Интернету по низкоскоростным каналам. Тем не менее, пользователи являются одними из основных потребителей услуг Сети и главными «спонсорами» коммерческой части Интернета. Причем на одного «физического» пользователя, т. е. реального человека, пользующегося услугами Сети, может приходиться несколько пользователей «логических», т. е. различных подключений к Интернету.
Так, кроме компьютера, возможность подключения к Интернету может иметь мобильный телефон, карманный компьютер, бытовая техника, автомобиль и даже кондиционер. Конечные пользователи подключаются к компьютерам Интернет-провайдера, или, как их еще называют, ISP (Internet Service Provider - провайдер Интернет). ISP - это организация, основная деятельность которой связана с предоставлением услуг Интернета пользователям.
У провайдера есть своя компьютерная сеть, размеры которой могут варьироваться от сотен десятков узлов в нескольких городах до многих тысяч, раскиданных по целому континенту. Эта сеть называется магистральной сетью, или бэкбоном (от слова backbone - стержень, магистраль). Сети отдельных провайдеров соединяются между собой и другими сетями. Среди ISP есть «монстры», которые обеспечивают соединение между собой сетей различных стран и континентов, являясь своего рода «провайдерами для провайдеров». Весь этот конгломерат компьютерных сетей и образует то, что называется Интернетом.
Особняком стоят DNS-серверы - компьютеры, отвечающие за функционирование системы DNS. Для подключения конечных пользователей к ISP служат так называемые «точки доступа» - компьютеры или специальные устройства, содержащие оборудование для подключения «извне».
Подключившись к точке доступа провайдера, пользователь становится частью магистральной сети провайдера и, соответственно, получает доступ к ее ресурсам, а также к ресурсам сетей, соединенных с бэкбоном провайдера, т. е. ко всему Интернету. Кроме конечных пользователей, к сети провайдеров подключаются различного рода серверы, или «хосты» (от слова host - хозяин). Это узлы сети, на которых работает программное обеспечение, обеспечивающее практически все услуги, предоставляемые сетью Интернет.
На сегодняшний день цифровое видео развивается в двух направлениях это видео улучшенного качества для просмотра его на больших ЖК-панелях. И видео уменьшенного размера для экранов портативных устройств. Конечно смотреть фильм или видеоклип на большом экране намного удобней чем на маленьком. Зато устройства с малыми экранами, такие как мобильные телефоны, КПК и медиаплееры легко можно носить в кармане и смотреть видео в любых ситуациях.
Конвертирование видео в мобильные форматы.
На сегодняшний день цифровое видео развивается в двух направлениях это видео улучшенного качества для просмотра его на больших ЖК-панелях. И видео уменьшенного размера для экранов портативных устройств. Конечно смотреть фильм или видеоклип на большом экране намного удобней чем на маленьком. Зато устройства с малыми экранами, такие как мобильные телефоны, КПК и медиаплееры легко можно носить в кармане и смотреть видео в любых ситуациях.
Но для того, что бы такое портативное устройство смогло показывать видео его соответствующим образом надо подготовить и записать в память.
Конвертировать видео в форматы, поддерживаемые мобильными устройствами, проще всего при помощи специальных программ. Благодаря этим программам не нужно задумываться над тем, какое разрешение выбрать, и какой формат поддерживается мобильным девайсом.
Agogo Video to iPod / PSP / Cell Phone / Xbox / Pocket PC / PDA / MP4
Хотя название программы выглядит слишком длинным, зато пользователю не нужно вчитываться в описание программы и искать список поддерживаемых форматов, для того чтобы понять, поддерживает ли этот конвертер видео для мобильных телефонов или iPod.
Интерфейс ее так же прост, как незатейливо ее название. Окно состоит из трех основных частей: списка файлов, окошка предварительного просмотра и области, в которой задаются настройки кодирования. Для удобства она имеет несколько вкладок – To iPod, To Xbox, To 3GP и т.д. Таким образом, практически исключена возможность того, что вы выберете такой формат, который не поддерживается вашим портативным устройством. Настройки кодирования можно устанавливать только для видеофайлов, которые вы собираетесь проигрывать на iPod, для остальных устройств программа предлагает только профили настроек, изменить которые нельзя. Профили включают формат, разрешение и параметры звука. Число профилей не очень велико, например, для XBox – четыре, а для видеоплееров – всего два. Что касается iPod, то тут профили не предусмотрены, и пользователю самому предлагается определиться с форматом, количеством кадров в секунду, разрешением, соотношением сторон, частотой дискретизации аудио, битрейтом аудио и видео и громкостью.
Agogo Video to iPod / PSP / Cell Phone / Xbox / Pocket PC / PDA / MP4 может выполнять преобразование видеофайлов в пакетном режиме. Для этого достаточно загрузить в программу несколько видеофайлов. После того, как файл загружен, его можно просмотреть в окне предварительного просмотра и при необходимости отметить фрагмент, который нужно конвертировать. Для этого под окном предпросмотра есть специальные маркеры – в начале и в конце клипа. Кодирование будет выполняться с того места клипа, где установлен первый маркер, и до того, где находится второй.
Загруженные в программу файлы не обязательно кодировать все вместе. Напротив каждого из них есть флажок, и если перед нажатием кнопки Start его снять, то клип будет пропущен. Перед началом конвертирования нужно не забыть указать папку, куда будет сохраняться видео. Также при необходимости можно попросить программу выключить компьютер, когда все задания будут завершены.
WinAVI iPod/PSP/3GP/MP4 Video Converter
Программа так же не сложная – на освоение программы уходит максимум минуты три.
Первое, что нужно сделать – это выбрать устройство (iPod, PSP) или формат (3GP, MP4), нажав на одну из четырех кнопок. После этого нужно будет загрузить файл или файлы, которые необходимо преобразовать. Конвертер позволяет выбирать несколько файлов одновременно, но нужно, чтобы они были помещены в одну папку. Чтобы преобразовать видео с параметрами по умолчанию, нужно просто нажать кнопку OK, после чего программа начнет свою работу.
Кроме форматов, которые вынесены в название программы, WinAVI iPod/PSP/3GP/MP4 Video Converter поддерживает и другие, "немобильные форматы", такие как Mov, Rm, Wmv и другие. Стоит также отметить пакетный режим, в котором можно выполнить преобразование нескольких видеофайлов. В этом режиме можно установить очередь из файлов, которые нужно конвертировать в разные форматы. Его также можно использовать для преобразования одного и того же файла в несколько разных форматов.
Во время конвертирования файлов можно наблюдать за процессом в окне предварительного просмотра. Если компьютер достаточно мощный, то можно включить отображение видео в реальном времени. Очень удобно, что эти настройки можно менять непосредственно по время кодирования, не останавливая при этом процесс. Если предполагается, что кодирование займет много времени, можно включить опцию выключения компьютера после его завершения и лечь спать.
Xilisoft Video Converter
Число поддерживаемых этим конвертером форматов просто огромно – вряд ли вы не найдете в этом длинном списке тот, который нужен именно вам. При помощи программы можно даже преобразовать видео для просмотра на BlackBerry, Apple TV и iPhone, все более распространенные устройства тоже поддерживаются.
Программа может работать в двух режимах: в стандартном, для опытных пользователей, и в режиме мастера, предназначенном для новичков. Немного неудобно, что между этими режимами никак нельзя переключаться – она реализованы как две независимые утилиты, для открытия одной из которых нужно будет обратиться к меню "Пуск".
Настройка параметров кодирования выполнена очень удобно – не нужно открывать дополнительные окна, все параметры вынесены в главное окно программы. Тут можно определить качество видео и аудио, отключить звук, указать соотношение сторон и т.д.
Очень удобно и окошко предварительного просмотра – в нем можно по очереди проигрывать все файлы, загруженные в программу.
PocketDivxEncoder
Эта программа заслуженно пользуется большой популярностью среди владельцев КПК, смартфонов и других портативных устройств. В отличие от большинства видеоконвертеров, она не требует установки, совершенно бесплатна и, к тому же, имеет русскую локализацию.
Благодаря гибким настройкам, программа может использоваться даже для тех устройств, профили для которых она не поддерживает, например, для Sony PSP. Правда, в этом случае подбирать разрешение видео и другие настройки придутся вручную. С другой стороны, PocketDivxEncoder поддерживает сохранение пользовательских профилей, поэтому если вы постоянно кодируете видео для просмотра на одном и том же устройстве, подобрать настройки нужно будет только один раз.
Для наглядности в PocketDivxEncoder везде, где требуется предпросмотр видео, можно увидеть картинку выбранного устройства, а видео будет отображаться на его "экране". Это очень удобно, например, когда вы подбираете разрешение видеофайла – если оно слишком велико, вы сразу же увидите, что видео "вылазит" за пределы экрана.
Одна из функций, на которую нельзя не обратить внимание, - подсчет итогового размера файла. Происходит это в реальном времени – вы изменяете параметры, отвечающие за качество видео и звука, а программа тут же подсчитывает, как это отразится на размере файла. Очень удобно.
Для PDA и смартфонов предусмотрена возможность изменять ориентацию видео, в зависимости от того, как пользователь держит устройство. Конечно же, в современных портативных устройствах есть подобная функция, однако если видео изначально будет сохранено с нужной ориентацией, это освободит ресурсы системы.
Часто при неудачном сжатии происходит расхождение звука с видео. PocketDivxEncoder дает возможность исправить подобные ошибки и восстановить правильную синхронизацию аудио и видео.
SUPER 2007
Конвертер SUPER полностью оправдывает свое название. Программа поддерживает огромное число форматов, абсолютно бесплатна и, к тому же, содержит все необходимые кодеки. Понятно, что последнее отражается на ее размере – дистрибутив занимает около 30 Мб, но зато после установки вы можете быть полностью уверены в том, что сможете выполнить кодирование в любой формат с использованием любого популярного кодека.
Интерфейс программы хоть и не имеет ничего общего с внешним видом других конвертеров, назвать сложным его нельзя. Разработчики использовали несколько приемов, которые помогают сразу разобраться с программой. Во-первых, при подведении курсора к каждой области окна появляется всплывающая подсказка, объясняющая, что пользователю нужно делать (при необходимости подсказки можно отключить). Во-вторых, элементы интерфейса имеют разный цвет: все, что зеленое, относится к настройкам кодирования видео, синий цвет – это цвет параметров аудио, а настройки формата выделены красным.
У SUPER нет окна предварительного просмотра видео, однако есть встроенный проигрыватель. По умолчанию он воспроизводит видео во весь экран, но при желании можно вызвать окно настроек и изменить их.
Профили для портативных устройств заслуживают всяческих похвал. Есть профили для сохранения файла в AVI для проигрывания на КПК, для Nintendo DS, Sony PSP, Sony PS3, Zune, два разных профиля для сохранения в формат 3GP – для телефонов Nokia/Siemens и для Sony Ericsson, а также два профиля для iPod – для более старых моделей и плееров последнего поколения. При выборе того или иного профиля все неподдерживаемые параметры для удобства скрываются.
Среди настроек кодирования стоит отметить возможность отключения аудио или видеопотока, а также наличие функции Stream Copy, которая позволяет произвести кодирование без повторной компрессии звука или видео, а значит, без потери качества. Если при выбранных вами параметрах эта опция недоступна, они просто станет неактивной.
Наконец, SUPER содержит достаточно много дополнительных эффектов, которые могут быть применены к выходному видеофайлу. Например, можно добавить на видео водяной знак, изменить ориентацию видео, инвертировать цвета, добавить затухание, вывести на каждом кадре информацию о клипе. Однако, использовать все эти эффекты в одном видео не рекомендуется.
AVS Video Tools
AVS Video Tools – это пакет утилит для работы с видео. Один из них – AVS Video Converter - общего назначения, а второй, AVS Video to GO, создан специально для преобразования видео в форматы, поддерживаемые портативными устройствами.
Работа AVS Video to GO построена в виде мастера – на первом этапе необходимо выбрать видеофайл, после чего в окне программы отобразятся его параметры. Можно воспользоваться окном предпросмотра, чтобы убедиться, что загружен нужный файл.
AVS Video to GO работает не только с обычными видеофайлами, но и с DVD. Список поддерживаемых девайсов достаточно велик – есть даже профили для мобильных телефонов, работающих в сетях CDMA, для портативных DVD-плееров, плееров Creative Zen, Archos DVR и Apple TV.
AVS Video to GO – очень удобное решение, когда нужно выполнить конвертирование одного файла. Если же есть необходимость в пакетном преобразовании, нужно использовать AVS Video Converter.
Пожалуй, единственный недостаток программы в том, что нет возможности указывать параметры для каждого файла по отдельности – настройки выходного видео будут применены для всех загруженных в программу файлов.
Kingdia iPod/PSP/3GP/MP4/AVI Video Converter
Программа имеет узкую специализацию и ориентирована исключительно на создание видеофайлов для портативных устройств. С его помощью можно конвертировать видео в форматы, поддерживаемые КПК, Palm, iPod, Sony PSP, мобильными телефонами и медиаплеерами.
Преобразование может выполняться в пакетном режиме, правда, настройки при этом выбираются не отдельно для каждого файла, а для всех одновременно.
В списке выбора выходного формата шесть вариантов – Apple iPod, Sony PSP, 3GP, 3GP2, MP4 и xVid. При выборе одного из них загружаются настройки по умолчанию, однако всегда есть возможность изменить их, выбрав другой кодек или уменьшив битрейт. Правда, тонкая настройка параметров кодека, к сожалению, недоступна. Есть также ползунок для изменения громкости файла.
Во время преобразования отображение видео не работает, зато можно наблюдать за ходом выполнения операции, глядя на ползунок, который появляется в списке заданий. Если процесс кодирования занимает много времени, можно установить флажок Shutodown PC when finished, и программа сама выключит компьютер после завершения работы.
Среди коммерческих приложений наиболее функциональной оказалась программа AVS Video Tools. Ее цена не намного больше, чем других конвертеров, но по возможностям она их заметно превосходит, поскольку AVS Video Tools можно использовать и для захвата видео с камеры, и для конвертирования DVD. Что касается бесплатных программ, то и SUPER 2007, и PocketDivxEncoder хорошо справляются со своей задачей и при этом не требуют много времени на то, чтобы разобраться с интерфейсом.
На сегодняшний день музыкальные магазины online, наподобие Musikload[1], становятся все более распространенными и пользуются бешенной популярностью. В этой статье мы расскажем как можно читать мета-информацию mp3-файла средствами PHP, что поможет вам в создании каталога музыки. Это очень просто, поддержка базы данных не нужна.
Откуда знает MP3-Player, например Winamp информацию об исполнителе или названии композиции, которую он проигрывает? Может быть, он сам каким-то чудным образом узнает название песни и альбома? Нет, здесь нет никакого волшебства! Подобная информация содержится в самих файлах. Музыкальные файлы других форматов таких как WMA или Ogg Vorbis также содержат подобную информацию, но здесь речь пойдет о файлах в формате mp3.
Спецификация mp3 определяет способ хранения музыкальных данных, однако не предусматривает никакой возможности для сохранения метаданных композиции, таких как название и исполнитель. Чтобы обойти это ограничение был разработан стандарт ID3. Согласно этой спецификации, метаданные должны быть помещены в так называемые ID3-теги, которые независимо от используемого стандарта ID3, помещаются в конец или начало файла. ID3-теги версии 1 (ID3v1-Tags) представляют собой простейшую конструкцию, которая дописывается в конец файла. Ее объем не должен превышать 128 байт. Структура тега такова: после строкового значения “TAG» следует информация о названии (30 символов), исполнителе (30 символов), альбоме (30 символов), годе записи (четырехзначное число), комментарий (30 символов), жанр (1 байт). Тег с подобной структурой обозначается как ID3v1.0-Tag. В дополнение к этому существует еще стандарт ID3v1.1-Tag, который встречается значительно чаще, поскольку позволяет сохранять информацию о порядковом номере композиции в альбоме. Вследствие этого был урезан до 28 символов размер комментария. Сразу после комментария следует нуль-байт, а последующий байт содержит информации о номере трэка. На иллюстрации один и два видна структура обоих стандартов.
PEAR придет на помощь!
Для считывания информации из ID3v1 тегов, в библиотеку PEAR уже был включен пакет MP3_Id[3], который поможет Вам без проблем извлекать информацию из тега, или наоборот записывать. Если в файл отсутствует ID3-тег, вы можете его создать. Листинг 1 показывает как можно считывать информацию из тегов. Создается объект класса MP3_ID, считывается файл, а затем метод getTag() извлекает данные, которые помещаются для дальнейшей обработки в отдельные поля объект. Листинг 2 показывает результат действия программы листинга 1. Общий обзор доступных полей вы найдете в документации по пакету на домашней странице PEAR.
Листинг 1:
Листинг 2:
Листинг 3 показывает как просто можно изменять содержимое ID3-тегов и создавать их. Сначала, как это было показано в Листинге 1, создаем объект класса MP3_ID, считываем файл, а с помощью метода setTag($fieldname, $value) помещаем в тег нужную информацию. Хотите удалить все теги? Тогда посмотрите на листинг 4, где показано как можно сделать это. Для удаления тегов используется метод remove(), а остальное вы уже знаете. Необходимо дополнить, что MP3_Id обладает другими полезными функциями, которые вам позволят перенести содержимое тега из одного файла в другой или сформировать массив, содержащий все музыкальные направления. Для получения дополнительной информации смотрите документацию.
Listing 3:
Listing 4:
Используем PECL
В конце лета 2004 года появилось расширение PHP ext/id3[7]. Разрабатывается в рамках PECL[6]. В отличие от MP3_ID эта библиотека написана не на PHP, а на C, поэтому она должно работать несколько быстрее. Однако библиотека не входит в стандартный комплект PHP-исходников, к тому же на сегодняшний день отсутствует стабильная версия, хотя функции отвечающие за чтение и запись ID3-тегов считаются стабильными.
Если вы хотите использовать именно это расширение, для установки необходимо воспользоваться либо PEAR-installer, либо откомпилировать php, включив поддержку данного расширения. Если вы используете WINDOWS, существует возможность скачать уже откомпилированную DLL для версии php 5.0 или 5.01 с сайта PHP-Snapshot[9], поместить ее в каталог с расширениями php (например c:phpext), подключить через php.ini. Чтобы воспользоваться расширением, вы должны иметь PHP 4.3 или более позднюю версию, поскольку библиотека использует Streams-API.
Само собой разумеется, библиотека позволяет изменять содержимое ID3-тегов. Для этого вам не нужно ничего, кроме массива, представленного в листинге 6, и функции id3_set_tag(). В качестве первого параметра функция принимает имя изменяемого mp-3 файла, а в качестве второго - массив с необходимыми данными. Третий параметр необязателен и представляет собой константу, указывающую версию ID3-тега. В существующей версии библиотеки функция id3_set_tag() может работать только с тегами версии 1.0 или 1.1. Листинг 7 содержит необходимый php-код. В дополнение к этому, листинг 8 показывает как с помощью функции id3_remove_tag можно удалить существующий ID3-тег.
Ext/id3 содержит еще несколько полезных функций, которые позволяют определить версию ID3-тега (id3_get_version) или манипулируют со списком музыкальных направлений и их id, представленных в виде целого числа типа integer. Надо сказать, что данное число мало подходит для указания музыкального направления.
Listing 5:
Listing 6:
Listing 7:
Следующее поколение
Несмотря на то, что с помощь ID3v1-тегов уже можно сохранять важнейшую информацию о содержимом mp3-файла, уже проявляются ограничения версий 1.0 и 1.1:
из-за фиксированного размера тега ограничен объем сохраняемой информации
ограничено количество сохраняемых атрибутов
Как мы видим, расширить объем пространства, отведенный под ID3v1 теги нельзя, Существую трудности с сохранением информации о названии композиции, исполнителе, альбоме, комментарии, если размер данных превышает 30 символов. Допустим, вам нужно указать название The Hitchhiker's Guide to the Galaxy, используя стандарт ID3v1, вы можете сохранить лишь The Hitchhiker's Guide to. Та же ситуации наблюдается с указанием музыкального направления. Для этого выделяется только один байт, вследствие этого количество музыкальных направлений не может превышать 256. Наверное, сегодня этого достаточно, но кто знает, сколько в будущем появится еще музыкальных направлений.
Чтобы преодолеть указанные ограничения был введены ID3-теги версии 2[2], или короче ID3v2. ID3v2-теги записываются в начало файла, собственно перед самими аудио данными. Информация организована в отдельные единицы, которые обозначаются как фреймы. ID3v2 - это формат-контейнер, то есть, существует возможность при изменении тега вводить новые фреймы. Из этого следует, что ID3v2 может содержать значительно больше информации, чем ID3v1. Это может быть информация об авторских правах, битрейте, (BMP) или, наконец, полный текст песни или изображения. В дополнение к этому можно по желанию добавлять новые фреймы. Вот важнейшие достоинства данного формата:
Никаких ограничений на объем сохраняемой информации
Гибкость и расширяемость
Возможность сжатия содержимого тегов
Поддержка Unicode
Возможность хранить бинарные данные, например изображения и файлы.
Из-за расширенных возможностей ID3v2-теги, несколько труднее поддаются считыванию, чем ID3v1-теги. Хорошая новость состоит в том, что ext/id3 уже позволяет извлекать важнейшую информацию. Если вы исполните код, помещенный в листинг 9, вы получите тот же результат, что и в листинге 10. Проделав это, вы сможете убедиться, что объем выводимых данных значительно шире, чем тот, что показан в листингах 5 и 6.
Каждый фрейм ID3v2-тега обладает уникальным ID. Ext/id3 содержит две функции, которые позволяют узнать содержимое фрейма. Это id3_get_frame_short() и id3_get_frame_long_name(). В качестве параметра они принимают id фрейма и возвращают его описание.
В будущих версиях ext/id3 будет содержать другие полезные функции, которые позволят считывать или записывать фреймы, соответствующие спецификации ID3.
Листинг 8:
Listing 9:
Дополнительная информация
Прежде чем вы организуете бизнес, связанный с продажей музыкальных композиций online, мы вам расскажем еще о нескольких полезных возможностях библиотеки MP3_Id. С помощью нее можно не только считывать информацию ID3- тегов, она позволяет получить некоторую интересную информацию о самом mp3-файле. Речь идет о битрейте, длительности звучания и других полезных свойствах. Подобные сведения можно получить при помощи метода study(), а дальше посредством метода getTag(), можно выбирать необходимые данные. Листинг 12 показывает как это работает. Результат работы программы показан в листинге 13. К сожалению, эти возможности недостаточно документированы, т.е. трудно разобраться какой атрибут можно считать при помощи getTag() или изменить посредство setTag(). В этом случае необходимо изучить код модуля MP3/Id.php.
Listing 10:
Listing 11:
Listing 12:
Listing 13:
Выводы
В этой статье мы рассмотрели существующие возможности извлечения информации из mp-3 файлов средствами PHP. Обе библиотеки (MP3_Id и id3) легки в использовании и содержать необходимые функции. Одна библиотека написана на PHP, другая на C. Выбор того или иного варианта определяется вашими предпочтениями и возможностями хостинга.
Авторы
Карстен Луке изучает информатику в высшей школе Бранденбурга. Совместно со Стефаном Шмидтом разработывает расширение id3. Вы можете связаться с ним по e-mail ( luckec@php.net ) или посетить его сайт ( www.tool-gerade.de ) Стефан Шмидт - разработчик веб-приложений фирмы 1&1 Internet AG, активно учавствует в развити PEAR и PECL. Вы можете связаться с ним по e-mail ( schst@php.net )
Думать о продвижении сайта надо еще до его создания. Все начинается с постановки задач и опредления целей. Многие люди, которые собираются продвигать (рекламировать) свой сайт в Интернет, не знают зачем им это, нужен ли им сайт вообще, не знают как оптимизировать свое детище для того, чтобы было возможным осуществлять его продвижение, чтобы достичь поставленных целей и отдых под Киевом, каталог баз отдыха. Если вы относитесь к ним, то это статья для вас.
Сразу хочу уточнить, что в этой статье речь не идет о несерьезных ресурсах вроде домашних страниц. Свое мнение о том, стоит ли рекламировать домашную страницу, почему и как, я высказала в первой части вводной статьи к разделу Реклама. Настоятельно рекомендую всем владельцем домашних страниц перечитать первую часть вводной статьи раз 20-ть, а лучше сто, прежде чем пускаться во все тяжкие.
Теперь, когда я погрозил пальцем недобросовестным гражданам для очистки своей совести, перейдем непосредственно к делу.
Прежде, чем создавать сайт вы должны понять, нужен ли он вам вообще. Зачем, что, для чего.
К неверным мотивам создания сайта можно отнести следующие:
* У всех есть сайт. Чем я хуже?
* Я создам самый лучший ресурс, он поразит воображение всех нынеживущих в интернет, я буду популярным, ко мне придет много людей!
* У наших конкурентов есть сайт. Сваяем и мы что-нибудь по быстрому. Полагаю, прайс-листа и контактов хватит.
* Я сделаю себе сайт, раскручу его, и срублю много денег, ничего особо не делая…
Если, вас сподвигает на создание сайта что-то вроде того, что я только что перечислила - то вам сайт еще не нужен, если вы коммерческая организация. Почему? Потому что цель коммерческого сайта помочь вам завязать и упрочить отношения, которые помогут развитию вашего бизнеса. Подход, чтобы было - это не серьезный, не деловой подход, с таким долго не живут. Что же касается остальных, тщеславных граждан с домашними страничками - куда они идут я уже указывала в самом начале этой статьи. Никогда не забывайте, что интернет - прежде всего информационная сеть, человек сюда приходит за информацией, ему нужна интересная и качественная информация, так зачем же плодить мусор?
К правильным мотивам создания сайта можно отнести следующие:
* Привлечение новых посетилей (для комерческой организации: клиентов, потенциальных клиентов).
* Расширить свой бизнес, увеличить прибыль.
* Получить поддержку, склонить людей и общественное мнение к чему-либо.
* Найти единомышленников по какой-либо проблеме, поделиться инересной и нужной информацией с другими.
Только, когда у нас есть определенная цель, только тогда можно и нужно создавать ресурс, опираясь на нее. Когда есть цель - есть возможность правильно продумать и осуществить разработку ресурса. А при правильно разработанном ресурсе уже можно совершать успешные действия по его продвижению.
Итак, как же правильно осуществить разработку сайта, если мы хотим, чтобы было потом возможным продвигать его в сети:
1. Определите цели вашего сайта. Зачем вы его создаете? (об этом мы уже поговорили).
2. Определите вашу стратегию. Что вы хотите достичь? Как вы собираетесь добиться своих целей? Какие приемы вы будете использовать, чтобы показать себя, чтобы удержаться и развиваться, чтобы продвигать свой сайт? У вас есть конкуренты (фирмы-конкуренты, другие информационные сайты, сообщества). Вам надо исследовать, что они предлагают, какие методы используют для продвижения своего ресурса. На основе исследования определить, какие методы будете использовать вы для продвижения своего сайта. При составлении плана также нужно учесть, какие ресурсы вы имеете в наличии (люди, деньги, знания, время и т.д.), чтобы добиться своих целей.
3. Определите аудиторию вашего сайта. Для кого вы его создаете? Какова целевая аудитория вашего сайта (например, деловая современная женщина, с доходом средний и выше от 20 до 40 лет). В зависимости от того какова ваша аудитория вы решаете какие сервисы вы ей предложите, какие материалы разместите на сайте, каким будет языком вестись изложение материалов (согласитесь, язык научного сайта неприемлим для сайта с детской аудиторией, если детский ресурс будет написан на слишком непонятном его аудитории языке, то популярностью он пользоваться никогда не будет). Если у сайта широкая аудитория, то можно сделать несколько крупных разделов для каждой группы посетителей. Для сайтов, где аудитория говорит на разных языках делается несколько версий на разных языках, причем язык изложения может адаптироваться в зависимости от страны (допустим, что считается приличным в одной стране, может вызвать возмущение у жителей других стран, нужно обязательно учитывать национальные особенности, чтобы не потерять потом посетителя).
4. Доменое имя. То, каков адрес вашего сайта, решает многое. Согласитесь, что сайт с адресом http://firma.com или http://community.com внушает гораздо больше доверия и уважения, чем http://narod.ru/tut/tam/firma или http://freehosting.com/was/here/community, первые два доменных имени говорят о серьезности фирмы или организации, о том, что завтра она никуда не исчезнет, это важно, особенно если учесть, что есть злоумышленники, которые любят пользоваться доверием людей, и поэтому люди стали сейчас гораздо осторожнее и настороженнее относится к предлагаемым им услугам и информации.
Более того, адрес http://firma.com легче продвигать в поисковых системах и рейтингах. Кроме того, адрес http://firma.com, гораздо легче запомнить, чем http://narod.ru/tut/tam/firma. Старайтесь, чтобы в названии домена присуствовало название организации. Имя домена = имя фирмы - очень легко запоминается. Если у фирмы или организации сложное имя, то имя домена может символизировать область деятельности фирмы или организации. Допустим, комбинату по производству хлеба со сложным названием “Комбинат №4 по производству хлебо-булочных изделий “Серебрянный бор” никак не подобрать запоминаемое сокращение, чтобы его можно было использовать в качестве доменного имени, но зато можно зарегистрировать домен типа: http://hleb.ru или http://bulka.ru - запоминаемо и связано с деятельностью предприятия.
5. Презентабельность. Внешний вид вашего сайта не должен отталкивать. Наооборот, он обязан быть привлекательным. Помните - по одежке встречают. Первое впечатление - очень важно. Если оформление вашего сайта отталкивающее, то вы можете потерять посетителя, он уйдет, даже не попытавшись ознакомиться с представленной информацией.
6. Удобство. Вся информация на сайте должна быть организована так, чтобы ее было легко находить, чтобы было легко ориентироваться по сайту. Навигация должна быть простой и понятной. Желательно, чтобы до самого дальнего подраздела можно было дойти не более, чем в несколько кликов. Струтура сайта должна быть четкой и ясной посетителю.
7. Нужная информация. Какой бы ни был ваш сайт просто информационный, посвященный какой-либо проблеме, или коммерческий сайт, предназначенный продвигать вашу компанию посредством Интернет, самое главное - это содержимое сайта. Ваш посетитель приходит к вам за информацией, и поэтому, разрабатывая содержимое сайта, вы должны подумать, какую информацию хотела бы получить ваша аудитория, какую информацию они будут искать. Желательно, чтобы информация была уникальная. Только присуствие уникальной информации или сервисов на ресурсе может привлечь к вам посетителя, только наличие постоянно добавляемой и обновляемой уникальной информации может привлечь и убедить его зайти к вам на сайт еще раз, и не один раз. Именно поэтому, даже коммерческой организации не стоит делать сайт из серии “прайс-лист+контакты”, потому что такой сайт практически никому не будет интересен и не приведет к организации новых клиентов. Зато интересный портал, связанный с сферой деятельности фирмы, это то, что нужно. Он привлечет много посетителей, которые потом могут стать клиентами фирмы.
8. Интересные сервисы и предложения. Конечно, не только информацией единой жив сайт. Обязательно нужно учесть необходимость создания связи с посетителем, в этом вам помогут форум, или гостевая книга. Иногда необходимо напоминать о себе своим посетителям, для этого возможно стоит ввести рассылку новостей вашего сайта, чтобы каждый желающий мог на нее подписаться. Но это все стандартные, хотя и нужные ходы. Нужно еще что-то оригинальное и инетересное. Предложите поучавствовать посетителям в жизни сайта. Например, на популярных сайтах с кулинарными рецептами, вы можете найти не только миллион и один рецепт, а также прислать свой собственный, ваш рецепт могут оценить и обсудить другие посетители сайта. Кроме того, периодически устраиваются конкурсы на лучший рецепт, с призами, незайтейливыми, но приятными.
Однако, такое возможно не только для некоммерческого ресурса. Подобные ходы может взять себе на вооружение сайт какой-нибудь ресторанной сети, расчитанной на обывателя с средним доходом. Сборник рецептов, возможность посетителям его пополнять, обсуждать, учавствовать в конкурсах - все это не только не повредить коммерческому сайту, но и поможет в продвижении компании не только в сети интернет, Сходить на выходные с семьей в любимый ресторан, на сайте которого вечерами общаешься с подругой - думаю, это может стать традицией для многих женщин.
Итог:
Главная выгода, которую вам дает интернет - это непосредственное общение с вашим посетителем (потенциальным клиентом). Задача хорошего ресурса (как коммерческого, так и нет) быть ближе к посетителю, соотвествовать его нуждам. Вы должны думать о своей аудитории - это единственно правильный подход. Реклама в интернет не сводится к банальной баннерной рекламе, рассылке е-майл, продвижению сайта компании или организации в поисковиках, рейтингах, каталогах - это далеко не основные способы, эти способы как раз не так эффективны, как хотелось бы, хотя их все равно не стоит сбрасывать со счетов. Основное - это как раз создание неких взаимоотношений со своей аудиторией. Таким отношениям есть даже определенное название - PR - что означает Public Relations - связь с общественностью. Именно PR - есть самый эффективный способ продвижения чего-либо в Интернет, именно благодаря Public Relations вы сможете добиться своих целей и извлечь выгоду для своей организации или компании.
В этой статье я лишь затронула тему PR, и надеюсь, это было для вас интересным и познавательным. По традиции в правой колонке вы найдете ссылки по теме, и сможете ознакомиться с ней дальше сомостоятельно.
Если у вас есть сайт, то вы хотите, чтобы он был посещаемым. А что делать с этими посетителями - это уже тема отдельной статьи. Мы же в этот раз поговорим о генерации трафика на ваш ресурс. Думаю, что одним из наиболее эффективных методов является написание (перевод) статей и публикация их на сайтах, которые пользуются популярностью и регулярно посещаются.
Тут даже не столь важно, или у вас информационный портал с множеством тематик и разделов, или же просто вы продаете/предлагаете что-то, пишите статьи сами или заказываете их у кого-то. Главное - это поток целевого трафика с данных каталогов на ваш сайт.
Приведу несколько правил для успешной генерации такого трафика:
1) Первым делом внимательно прочитайте правила публикации статей и новостей на данном ресурсе. Очень важно обратить внимание на способ оформления материалов - некоторые каталоги не пропускают html-теги в материале статьи.
2) Старайтесь не публиковать один и тот же материал на большом количестве сайтов - ведь поисковые боты могут принять его за дубликаты, а они в последнее время их очень не любят.
3) Естественно, что нашей целью будет не только информирование и донесение чего-то полезного до читателя, но и привлечение его на наш сайт. Ясное дело, что для этого нужно поставить несколько ссылок на ваш ресурс. Но тут важно не перестараться - достаточно будет одной ссылки в тексте статьи (в тему статьи, а не просто - "зайдите на мой сайт") и одной в блоке "информация об авторе".
4) Следует публиковать статьи лишь в тех тематических рубриках, которые соответствуют тематике вашей статьи. В противном случае ее либо не примут на публикацию, либо и читать-то никто не будет. А чтобы найти свой тематический сайт, наберите в гугле что-то типа: "ключевое слово" опубликовать статью (англоязычный вариант - "your keyword here" submit article).
5) Те, кто не боится спама, см. следующий пункт. Остальные - не публикуйте в открытом виде свой контактный e-mail адрес, или же заведите какой-нибудь специально для этих целей.
6) Не забывайте, что публикуете не только вы один, так что ваша статья быстро уйдет в самый низ архивов. Да и кто в них, этих архивах будет рыться, людям нужна свежая информация. Вот и совет вам - не забывайте почаще добавлять статьи, таким образом вы обеспечите себя стабильным трафиком.