PHPFAQ  
Начинающим   Технологии   MySQL   Ошибки   Ссылки   Юмор   О сайте   Форум   PHP Club  

Как писать музыку на PHP


Часто на форумах задают вопросы, как с помощью PHP выполнить ту или иную операцию. При этом скромному языку для домашних страничек приписывают чудодейственные свойства - по ожиданию авторов, в PHP должны быть встроенные функции, которые будут показывать кино, писать музыку, делать скриншоты с сайтов и многое другое.

Нижеследующий текст призван ответить на можеcтво подобных вопросов разом.

Ответ: Для большинства перечисленных задач в PHP встроенных функций нет. РНР - это язык обработки гипертекста. Или просто текста. Вот с текстом РНР работает великолепно. А если вы хотите работать с бинарными данными, то следует посмотреть в сторону специально предназначенных для этого утилит.
Вся работа РНР сведется в этом случае к вызову внешней программы с помощью команды system() или её аналогов.

Определить, существуют ли у РНР встроенные функции для решения той или иной задачи, можно с помощью документации. Просто посмотрев список функций. Если лень, то можно использовать тот же самый критерий: текстовый или бинарный у нас протокол. К примеру, HTTP, FTP, POP3, SMTP - это все текстовые протоколы. И РНР, в силу своей текстовой сущности, прекрасно с ними работает.
Всякие картинки, видео, музыка - это бинарные данные. И для работы с ними стоит использовать внешние утилиты. Мне сейчас возразят, что с картинками PHP работать умеет. Ага, умеет. Полтора формата и imagestring. Граждане. Давно пора забыть про эту убогую библиотечку - в мире есть множество гораздо более продвинутых средств для работы с графикой. И все, что нужно для их освоения - это научиться работать с ними из командной строки, а потом аккуратно перенести эту строку в функцию system().

Для справки:
Для работы с видео - ffmpeg
Для работы с графикой - ImageMagick

Так же к этому разделу можно отнести многочисленные вопросы, посвященные скачиванию. Чего угодно и откуда угодно. Файлов с русскими буквами, файлов с пробелами в имени, файлов с зарегистрированными в браузере расшинениями (например html). Как заставить скачиваться или наоборот - как заставить открыть.

Ответ на все эти многочисленные вопросы один. И очень простой. Решается в два счёта:
1. Находим сайт, который реализует нужный нам функционал. Заодно проверяем - а возможно ли это в принципе. Если не нашли, то, скорее всего, нельзя. Если нашли, то
2. Берем любую программу просмотра НТТР заголовков, выполняем требуемую операцию на найденном сайте и смотрим, какие заголовки он формирует. После этого формируем у себя такие же.
Задача решена.



Другие материалы раздела:
Хочу изучать PHP и Mysql. С чего начать?
Самые основы. Как работает PHP.
Документация по PHP. Мануал по PHP, книги.
Не передаются переменные! Проблема Undefined variable
Решение проблемы "Cannot add header information - headers already sent"
Различие между абсолютными и относительными путями. В файловой системе и на сайте.
Пример системы управления сайтом
Что такое PHP?


Комментарии

CrazyPHP 31.10.09 14:10
О я молюсь а ПХП, МайСКУЛ и ДЖЕЙКЬЮРИ!
Робот 30.10.09 13:10
Как же все таки писать музыку на php?
Ответ: Никак. Это программа обработки текста :)
Javac 24.02.09 14:39
Насколько мне не изменяет память изначально PHPT сиречь Personal Home Page Tools, что в принципе являлось утилитами для хоумпаг, написанными на перле.
TIMA 08.02.09 04:10
PHP - Personal Home Page, что в прямом переводе "Персональная Домошняя Страница"
qb 23.01.09 19:36
PHP = PHP Hypertext Preprocessor
абсолютно справедливое замечание ибо первое название было переименовано
ну и естественно php давно уже является полноценным языком хоть и маломощным. . .
Ответ: ох. специалист пошел косяком
pEGOn 04.01.09 22:37
PHP - это рекурсивная аббревиатура:
PHP = PHP Hypertext Preprocessor
X-Agent 16.12.08 11:38
Ну почему же погорячились?
На сколько я помню PHP - Personal Home Page, что в прямом переводе "Персональная Домошняя Страница". Так что с определённой точки зрения, автор прав...
Spider 10.12.08 14:16
"скромному языку для домашних страничек" - ну это вы, батенька, погорячились, конечно! :)

Написать комментарий
Пожалуйста, воздержитесь от посылки спама.
Сообщения, содержащие гиперссылки, проходят премодерацию.
Представьтесь:
Вы робот?
Сообщение:

© phpfaq.ru, 2010
Rambler's Top100 0.026 sec.