Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Изменение ID3v2 тегов в mp3 файле с помощью PHP.

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

yahoo777

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Задача прочитать и изменить ID3v2 теги в закаченном на сервер mp3 файле.
Именнно v2.
С прочитать - OK - найдено много решений (готовых классов).
 
С изменением, перезаписью - не так всё просто.
Лучшее решение - http://www.getid3.org/.
Моего уровня знания PHP не достаточно чтобы предложенное на http://www.getid3.org/ заработало.
 
Если кто-то сможет сделать работающий пример, соответствующий моим условиям (нужно изменить комментарии, название, и добавить в mp3 картинку) достойную оплату гарантирую.
 

Всего записей: 103 | Зарегистр. 12-04-2003 | Отправлено: 10:35 17-03-2006
DurdomoFF



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
yahoo777
а чем у тебя проблемы с GetID3?
у меня сие решение вроде вполне корректно работает.
 
правда у меня в основном для считывания информации используется

Всего записей: 51 | Зарегистр. 03-02-2004 | Отправлено: 10:38 17-03-2006 | Исправлено: DurdomoFF, 10:38 17-03-2006
yahoo777

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
 
$TaggingFormat = 'UTF-8';
header('Content-Type: text/html; charset='.$TaggingFormat);
 
require_once('../getid3/getid3.php');
// Initialize getID3 engine
$getID3 = new getID3;
$getID3->encoding = $TaggingFormat;
 
require_once('../getid3/write.php');
// Initialize getID3 tag-writing module
$tagwriter = new getid3_writetags;
$tagwriter->filename = '../mp3s/Hollywood.mp3';
$tagwriter->tagformats = array('id3v2.2');
 
// set various options (optional)
$tagwriter->overwrite_tags = true;
$tagwriter->tag_encoding = 'UTF-8';
$tagwriter->remove_other_tags = true;
 
// populate data array
$TagData['title'][] = 'My Song';
$TagData['artist'][] = 'The Artist';
$TagData['album'][] = 'Greatest Hits';
$TagData['year'][] = '2004';
$TagData['genre'][] = 'Rock';
$TagData['comment'][] = 'excellent!';
$TagData['track'][] = '04/16';
 
$tagwriter->tag_data = $TagData;
 
// write tags
if ($tagwriter->WriteTags()) {
echo 'Successfully wrote tags<br>';
if (!empty($tagwriter->warnings)) {
echo 'There were some warnings:<br>'.implode('<br><br>', $tagwriter->warnings);
}
} else {
echo 'Failed to write tags!<br>'.implode('<br><br>', $tagwriter->errors);
}
 

плучаю только
Failed to write tags
и никакого списка ошибок.
 
Да кстати, PHP Version 5.0.5

Всего записей: 103 | Зарегистр. 12-04-2003 | Отправлено: 11:37 17-03-2006 | Исправлено: yahoo777, 11:40 17-03-2006
DurdomoFF



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
какая у тебя версия getid3?
 
в getid3.php есть такой кусок кода

Код:
 
// public: Optional tag checks - disable for speed.
var $option_tag_id3v1         = true;            // Read and process ID3v1 tags
var $option_tag_id3v2         = true;             // Read and process ID3v2 tags
var $option_tag_lyrics3       = true;             // Read and process Lyrics3 tags
var $option_tag_apetag        = true;             // Read and process APE tags
var $option_tags_process      = true;             // Copy tags to root key 'tags' and encode to $this->encoding
 

 
false нигде не стоит?
 
P.S. появлюсь уже только в понедельник

Всего записей: 51 | Зарегистр. 03-02-2004 | Отправлено: 14:37 17-03-2006 | Исправлено: DurdomoFF, 14:42 17-03-2006
yahoo777

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DurdomoFF
getid3 v1.7.6
 
везде true;

Всего записей: 103 | Зарегистр. 12-04-2003 | Отправлено: 15:30 17-03-2006
DurdomoFF



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
плучаю только  
Failed to write tags  

 
у меня твой код выдает

Код:
 
Failed to write tags!
WriteID3v2() failed with message(s):
- Only ID3v2.3 and ID3v2.4 are supported in GenerateID3v2FrameData()
- $this->GenerateID3v2FrameData() failed for "TT2"
- $this->GenerateID3v2Tag() failed
 

 
замена  

Код:
 
array('id3v2.2');
 

на

Код:
 
array('id3v2.3');
 

 
этот вопрос решает и теги пишутся.
 
что касается настроек GetID3
я НИЧЕГО не менял, то есть скачал с их сайта, разархивировал и выложил на сервер.
можешь попробовать сделать тоже самое.
Версия, которая стоит у меня

Код:
 
Latest stable version: 1.7.6 (released March 12, 2006)
 

Всего записей: 51 | Зарегистр. 03-02-2004 | Отправлено: 06:21 20-03-2006 | Исправлено: DurdomoFF, 06:22 20-03-2006
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » Изменение ID3v2 тегов в mp3 файле с помощью PHP.


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru