Forum Webscript.Ru

Программирование => PHP => Тема начата: fuza от 18 Марта 2006, 19:42:56

Название: Сравнение файлов
Отправлено: fuza от 18 Марта 2006, 19:42:56
Привет всем! Значится задача такая допустим у меня есть файл на серваке предположим это мп3 файлик с названием (TaTy - Нас не догонят.mp3), допустим чел хочет закачать файлик с улучшеным битрейтом но у него файл называется по другому (TATY - NAS NE DOGONAT.mp3) Вопрос в следующем можно ли как то эти мп3 файлы отличать друг от друга? если нет то хотябы как отличать файлы с одинаковым битрейтом? Желательно какой нить простенький примерчик

Всем спасибо!
Название: Сравнение файлов
Отправлено: unclebob от 18 Марта 2006, 20:27:05
Самый простой способ:
для одной и той же версии одной и той же песни сравнить 2 файла - у кого размер больше у того и битрейт больше
способ по сложнее: узнать у гугла (http://google.ru) где есть описание формата mp3 и применить эрудицию :)
Название: Сравнение файлов
Отправлено: unclebob от 18 Марта 2006, 20:34:25
Кстати еще сюда (http://www.php.net/manual/en/ref.id3.php) надо заглянуть
Название: Сравнение файлов
Отправлено: fuza от 18 Марта 2006, 21:08:05
unclebob не ты не понял! у меня 1 файл хранится на серверее а второй закачивается юзером вот и хотелось бы узнать как одинаковые мп3-ки с разными названиями (но одинаковые по содержанию (у них может быть разный битрейт) ) можно отличать друг от друга!
Название: Сравнение файлов
Отправлено: andymc от 19 Марта 2006, 00:12:18
1. Файлы с разными именами по определению отличаются друг от друга. Зачем их ещё отличать?
2. Если закаченный файл будет с тем же именем, то он перетрёт старый? Это можно? Наверное, нет.
3. Попробуй заставить пользователя отдельно указывать Исполнителя и Название песни, чтобы упорядочить данные (совет).
4. Битрейт, длину надо узнавать через спец библиотеки, функции.... ссылку тебе книули.

В общем.... не понял я, чё тебе вообще надо.
Расскажи, что за проект - база mp3?
и все файлы лежат в одной большой куче что ли?
Название: Сравнение файлов
Отправлено: hanslinger от 19 Марта 2006, 00:31:22
andymc
1. Врешь.
2. К делу отношения не имеет.
3. Невыполнимо.
4. Математика называется эта спецбиблиотека. И заголовок файла.
Название: Сравнение файлов
Отправлено: andymc от 19 Марта 2006, 00:38:15
1. Ну, да, да, верно.... всё-таки устал я сегодня.... по размеру, по дате можно отилчать.
2. Просто мысль идёт.
3. Пусть работают, черти, а-то девелоперам и так тяжело
4. Хрен знает. Читал я что-то про id3. Да бог с ним.
Название: Сравнение файлов
Отправлено: reLax[0x00] от 19 Марта 2006, 20:33:55
Что то вас ребята несет не ту в сторону. Проще надо быть и как в пословице говоритЦа - люди типа потянутся :) Ладно теперь о поставленной задаче:

фнкцию md5_file(); еще никто не отменял. Вот она и покажет при сверке контрольной суммы были ли изменения в файле или это вообще другой файл (кстати от изменении имени файла cheksum Не меняется - это чтобы лишних вопросов не возникало)

Я всегда когда заказчику отдаю код я снимаю md5-хэш файлов сначало, благо в RHEL есть встроенная комманда в BASH такая-а то были случаи уже - их сисадмины и прочие умельцы в коде полазят и он в итоге падает, а потом предъявляют мне что мой код не работает :) а тут вот те пожалуйста - контрольная сумма которую я вместе с кодом им передаю и храню у себя - обычно затыкаются в таких случаях :)

В плане битрейтов конечно такая функция не пойдет, но во всяком случае сравнит файлы. Думаю на PHP это нереально реализовать.
Название: Сравнение файлов
Отправлено: hanslinger от 19 Марта 2006, 20:38:24
Угадай, изменится ли хэш при изменении одной буквы в ID3.
Название: Сравнение файлов
Отправлено: reLax[0x00] от 19 Марта 2006, 20:46:09
Я говорил просто о сравнении файлов - можно просто изменить имя файла а можно в аудиоредакторе его поюзать - в этом md5_file поможет, потом дописал что на PHP всетаки мне кажется что вычисление изменение всяких там ИМЕННО битрейтов в файле нереально осуществить :)
Название: Сравнение файлов
Отправлено: fuza от 20 Марта 2006, 10:17:28
ну как вариант вижу - когда сравниваем файлы, из базы берем результат мд5 полученный от файла который уже лежит на сервере (результат будет от голой mp3-ки без тегов) и тоже самое делаем со сравниваемой mp3-кой вырезаем из нее все ID3 теги получаем от нее мд5 и сравниваем, вот только с битрейтами облом будет! :(