Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Как собрать разбитый архив на сервере?

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> Как собрать разбитый архив на сервере?
Имя
Сообщение << Старые топики   Новые топики >>
Как собрать разбитый архив на сервере? - 2009-09-13 01:44:07.593333   
qj20acwq

Сообщений: 13
Оценки: 0
Присоединился: 2009-02-07 20:43:13.460000
Вопрос по сабжу. Как средствами PHP?
Post #: 1
RE: Как собрать разбитый архив на сервере? - 2009-09-13 01:52:30.490000   
rgo

Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
Он чё, стеклянный был? Тогда только клеем. Или он побитый при передаче? В этой ситуации, проще скачать снова.
Post #: 2
RE: Как собрать разбитый архив на сервере? - 2009-09-13 01:59:54.246666   
qj20acwq

Сообщений: 13
Оценки: 0
Присоединился: 2009-02-07 20:43:13.460000

quote:

ORIGINAL: rgo

Он чё, стеклянный был? Тогда только клеем. Или он побитый при передаче? В этой ситуации, проще скачать снова.


Это когда раз бит, два бит, три бит и далее. А потом все это на раз-два-три собрать. Хлоп-топ - и оки-чпоки! Ясно? ;)
Post #: 3
RE: Как собрать разбитый архив на сервере? - 2009-09-13 02:19:23.450000   
rgo

Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
То есть стеклянный был? Ну если так, и размеры отдельных кусков порядка бита, то без шансов.

хмм… первый вопрос на форуме? Не обратил внимания. Ладно, уважим пупкина с мк. ok.



Здравствуйте. Мы всегда рады приветствовать новичка на форуме. Вас же, с вашим нестандартным вопросом – особенно.
К сожалению, ответить на ваш вопрос невозможно, в силу того, что вы экономите слова, используя при этом терминологию, допускающую множественные трактовки вашего заявления. Я предлагаю вам объяснить задачу по-человечески. Тогда шансы получить информативный ответ повысятся с неотличимых от нуля значений до гордых 100%.

С наилучшими пожеланиями. Ваш будущий друг, rgo.
Post #: 4
RE: Как собрать разбитый архив на сервере? - 2009-09-13 11:32:55.430000   
qj20acwq

Сообщений: 13
Оценки: 0
Присоединился: 2009-02-07 20:43:13.460000
Че за хрень ты несешь! Ни разу не разбивал архив на части? Открой 7-Zip для примера. В меню файл есть два пункта: Разбить файл… и Объединить файлы… Что тут еще добавить? Уж извини, носом не тыкаю!
Post #: 5
RE: Как собрать разбитый архив на сервере? - 2009-09-13 12:14:43.040000   
qj20acwq

Сообщений: 13
Оценки: 0
Присоединился: 2009-02-07 20:43:13.460000
Для всех кто не в курсе.


Можно разбить файл или архив с этим файлом на более мелкие файлы. К примеру, файл рамером в 30 мб. можно разбить на файлы размером около 1.5 мб. Таким образом некоторые люди закачивают файлы больших размеров себе на сервер. Но как потом (уже на сервере!) собрать их воедино? Я не знаю. Если кто-нибудь сталкивался с подобным, прошу подсказать.
Post #: 6
RE: Как собрать разбитый архив на сервере? - 2009-09-13 14:04:12.823333   
rgo

Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
Ааа, под разбитым файлом, ты подразумеваешь многотомный архив? Ну с этого надо и начинать. А то файлы могут ещё "биться" при передачи по плохому каналу, по структуре твоей фразы вообще ассоциация с легкобьющимися предметами возникала. Собственно, о чём я тебе и намекнул первым постом.
Но, ура! Мы сдвинулись с мёртвой точки. Давай разбираться дальше. Тебе, тому кто в курсе, должно быть известно, что архивы могут создаваться разными алгоритмами (упомянутый 7-zip, rar, zip обычный…), и те из этих алгоритмов, что позволяют создавать многотомные архивы используют свои методы создания многих томов. Ну и поскольку алгоритмы создания разные, то и алгоритмы распаковки – естественно, – тоже разные. И если ты, своим пятым постом, раскроешь секрет каким же алгоритмом пользовался ты, то тогда, можно будет твёрдо заявлять, что для того, чтобы сформулировать вопрос, тебе понадобилось всего пять сообщений на форуме. Не такой уж и плохой результат, между прочим. По-крайней мере, даёт надежды на лучшее.

Собственно, пока, я могу сказать лишь одно: для того чтобы собрать "разбитый" архив, его надо распаковать и запаковать обратно, но уже не используя опций многотомности. Это наиболее надёжный вариант. Но для этого, как я уже сказал, надо бы знать алгоритм, который использовался для архивации.

Есть менее надёжный вариант. Он опирается на предположение, что для того чтобы из одного файлика сделать много томов, используемый алгоритм просто первые N байт архива кладёт в первый файлик, байты с номерами от N+1 до 2N во второй и тд. Предположение выглядит вполне правдоподобным, ибо это простейший вариант. Но этого ещё недостаточно, чтобы сделать его не просто правдоподобным, но верным. Но если это так, то можно было бы собрать и самостоятельно. Ну, в смысле, можно было бы обойтись без алгоритмов архивации/деархивации, ибо всё и так несложно. Я бы порекомендовал воспользоваться fread/fwrite, но меня смущает фраза "binary safe" в документации. Что имели в виду разрабы php, под безопасностью от двоичности? Я не знаю, но может кто прояснит. Либо можно воспользоваться функцией system:system ("cat " . $files . "&gt;file.one-chunk");Здесь подразумевается, что в $files лежит строчка состоящая из имён файлов томов, разделённых пробелами, а file-one.onechunk, это новое имя архива. Но повторяю, это работать будет, только если верно предположение о методе деления всего архива на тома.

С наилучшими пожеланиями. Ваш будущий друг, rgo.
Post #: 7
RE: Как собрать разбитый архив на сервере? - 2009-09-13 14:26:03.253333   
qj20acwq

Сообщений: 13
Оценки: 0
Присоединился: 2009-02-07 20:43:13.460000
Возникновение ассоциаций о легкобьющихся предметах на форуме для программистов - первый признак скудоумия. Сноси тему, сноб! (Дальше общаться с тобой не хочу.)
Post #: 8
RE: Как собрать разбитый архив на сервере? - 2009-09-13 14:52:51.706666   
rgo

Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
Блин, а я так надеялся, что хоть пятым своим постом ты закончишь формулировать вопрос. Но не переживай. Ты можешь сделать это шестым постом!

С наилучшими пожеланиями. Ваш будущий друг, rgo.
Post #: 9
RE: Как собрать разбитый архив на сервере? - 2009-09-13 14:56:48.980000   
qj20acwq

Сообщений: 13
Оценки: 0
Присоединился: 2009-02-07 20:43:13.460000
Хотя натолкнул, чертяга, на правильное решение! Вот только: краткость - сестра таланта. Знай! А то слишком много перхоти, ха-ха, будущий корешь!
Post #: 10
Страниц:  [1]
Все форумы >> [Веб-программинг] >> Как собрать разбитый архив на сервере?







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.