Эта тема на forum.dklab.ru


СерЖ: Анализируем бинарные данные
Возможно ли каким либо образом найти формат аудио файла, если используется не файл Upload а сразу Постом приходят бинарные данные?
Мы делали так:
1) Записывали пришедшие данные во времменный файл
2) Забрасывали его в анализатор ( библиотека getid3 ожидает filename, поэтому приходится сохранять в файл)
3) Через анализатор ( объект ) находили аудиоформат..

ПРОБЛЕМА
- определяется не для всех типов аудиофайлов ( не определяет aif, amr, qcp )

Нет возможности использовать стандартный Upload - работаем тока с бинарными данными..
Какие идеи?
Anonymous:
читать доки по форматам файлов...
Г.О.:
А какая разница м/у своим уплоадом и стандартным? Стандартный тоже формат не определяет, только записывает пришедшие данные во временный файл.
Anonymous:
Можете привести линк на эти доки? При Upload можно хотя бы проверить расширение.. Способ конечно не самый надежный, но лучше чем ничего..
Г.О.:
При Upload можно хотя бы проверить расширение..
Ну, php тоже это расширение не из воздуха берет. Имя файла так же идет в теле запроса и его можно вытащить.

Content-Disposition: form-data; name="<имя поля формы>"; filename="<имя файла>"
примерно так
WingedFox:
Гм... Есть такая функция http://php.net/mime_content_type и комменты к ней.
СерЖ:
Как аналог использую комманду exec ('file -bi ' . escapeshellarg ( $f ) )..Но всеравно неудается определить формат ( выдает audio/unknown ) - думаю, что это связано с тем, что данные форматы ( aif,amr,qcp ) появились сравнительно недавно и не поддерживают стандартов.. Интересно, как же всетаки можно решить проблему...
WingedFox:
Решение очень простое: добавить соотв. сигнатуры в magic.mime и отправить diff разработчику.

Эта тема на forum.dklab.ru