Archive_Tar, апдейт файлов

sokol

Zavolga.Net
Archive_Tar, апдейт файлов

Задача следующая:
1. Пользователь заливает статью и если пожелает, то к статье архив с примерами или чего он там еще захочет.
2. Статья парсится, вырезается все ненужное и содержимое заливается в БД со статусом "непроверена" т.е. юзеру пока не доступна
3. Создается tgz архив при помощи Archive_Tar, туда пихается и статья и доп.архив.

Все это выполняется на ура! Далее:
4. Админ должен проверить статью и например ему что-то захотелось исправить, он естественно исправляет жмет сохранить. Вся фигня в том, что архив тоже надо проапдейтить, но

PHP:
$Arch->createModify($flist, "material", "/path/to/tmp_dir");
полностью переписывает его, т.е. если там был еще и доп.архив, то он тю-тю, а

PHP:
$Arch->addModify($flist, "material", "/path/to/tmp_dir");
действительно дописывает в дирректорию material, файл, но тогда там будет два файла с одинаковым именем, один модифицированный, другой первоначальный, это же Type Archive мать его:-( Как переписать это хренов файл в tgz архиве?

/path/to/tmp_dir - это тот каталог в котором из POST данных создается файл для добавления в архив
material - каталог создаваемый в архиве

OC - RedHat Linux 7.3
PHP 4.3.1
Archive_Tar 1.1
 

fixxxer

К.О.
Партнер клуба
"но тогда там будет два файла с одинаковым именем"

это как?
 

sokol

Zavolga.Net
2fixxer - а вот так:
/material_43.tgz
|
|
+---material_43.html
|
+---material_43.html
|
+--- append.exe
 

Макс

Старожил PHPClub
чесно говоря не очень знаком с внутренностями tar-формата, но если ничего другого не посоветуют, то
1. распаковать
2. сохранить изменения в измененных файлах
3. запаковать заново
 

sokol

Zavolga.Net
2Maxim Matyukhin - на это уйдет драгоценное время:-(
Ну не ужели никто ничего подобного не делал, наверняка ведь делал кто нибудь?
 

Макс

Старожил PHPClub
> на это уйдет драгоценное время:-(
это ведь в администрирование а не пользовательская часть.
Возьми какой-то класс для работы с ZIP (в pear он скоро появится AFAIK , но пока не готов) и в нем делай архивы.
 

sokol

Zavolga.Net
2Maxim Matyukhin - а как скоро примерно выйдет класс для работы с ZIP? Что весь алгоритм zip компрессинга на PHP переписан?

Какие еще могут быть варианты работы с архивами, кроме пеаровского класса?
 
Сверху