tar

IgoX

Новичок
tar

Пытаюсь собрать все файлы в один. Проблема в том что в таре только images\\goods\\102\\s.jpg. В чем тут ошибка непойму.

include("Tar.php");

$tar_object = & new Archive_Tar("tarname.tar");
$tar_object->setErrorHandling(PEAR_ERROR_PRINT);

$v_list[0]="images\\goods\\102\\s.jpg";
$v_list[1]="images\\goods\\102\\b.jpg";
$v_list[2]="images\\goods\\102\\m.jpg";
$tar_object->create($v_list,true);

$v_list[0]="images\\goods\\103\\b.jpg";
$v_list[1]="images\\goods\\103\\s.jpg";
$v_list[2]="images\\goods\\103\\m.jpg";

$tar_object->add($v_list);
Искал в архивах нашел только http://www.phpclub.net/talk/showthread.php?threadid=31426&highlight=tar
но и это работает не так как хотелось т.к. не все содержимое собирается, да и цель друга (не все содержимое папки надо собирать). Как бы нехватает ключа типа -r (рекурсивно).
 

tony2001

TeaM PHPClub
только что попробовал специально.
$tar_object->add($v_list);
работает
$tar_object->create($v_list);
работает

добавляет и/или создает новый архив.
ПЕАР был стянут с CVS где-то неделю назад.

хинт:
вместо двойных слэшей можно использовать одинарные, но в другую сторону.
 

IgoX

Новичок
Я неустанавливал Pear, просто скопировал к себе в корень и начал тестировать. Может в этом причина, но почему оно тогда вообще работает или работала бы или нет.
 

tony2001

TeaM PHPClub
>Я неустанавливал Pear
не столь важно.
реально нужно только PEAR.php & Archive/Tar.php

PHP:
require_once './pear/Archive_Tar/Archive/Tar.php';

$tar_object = new Archive_Tar("myArchive.tar");
$tar_object->setErrorHandling(PEAR_ERROR_PRINT);

$v_list = Array();
$v_list[]="4.txt";
$v_list[]="5.txt";

$tar_object->create($v_list);
вот этот пример тоже будет только 1 файл добавлять?
 

IgoX

Новичок
Добавляет только тот файл который является нулевым эелементом. Менял местами b.jpg s.jpg. Писал еще так $tar_object->create("images\\goods\\102\\b.jpg images\\goods\\102\\s.jpg");то что под нулевым то и пишет в тар. Вот и весь файл на всякий случай ОС WinXP, PEAR качал где два часа назад.
<?
require_once 'Tar.php';

$tar_object = new Archive_Tar("myArchive.tar");
$tar_object->setErrorHandling(PEAR_ERROR_PRINT);

$v_list = Array();
$v_list[]="images\\goods\\102\\s.jpg";
$v_list[]="images\\goods\\102\\b.jpg";

$tar_object->create($v_list);
?>
 

IgoX

Новичок
если меняю местами b.jpg и m.jpg то то что первое то и пишется в тар. PHP Version 4.2.2

<?
require_once 'Tar.php';

$tar_object = new Archive_Tar("myArchive.tar");
$tar_object->setErrorHandling(PEAR_ERROR_PRINT);

$v_list = Array();
$v_list[]="b.jpg";
$v_list[]="s.jpg";

$tar_object->create($v_list);
?>
 

Skat

Guest
2IgoX такая же фигня и у меня кстати ...
2tony2001 непомогает ...
 

tony2001

TeaM PHPClub
а чем вы тар смотрите?

>PHP Version 4.2.2
а по-новей не пробовали?

сейчас попробовал на бинарных файлах - все работает...
у меня 4.3.0 стоит.
 

IgoX

Новичок
Я думаю это неверный выход из положения менять версию РНР. Мне повезло что мне нужно в основном расжимать тарки (расжимает нормально) просто ради интреса может это bug какой-то.
 

Skat

Guest
а по-новей не пробовали?
4.3.1 куда уж новей ... да и не в этом дело ...
Глупость конечно наверное ща скажу ... но не может ли это зависить от оси ?!? Тони что стоит ?!?
 
Сверху