Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
CrazyValenoK
0 / 0 / 0
Регистрация: 25.05.2011
Сообщений: 9
1

Проверить архив на целостность

05.01.2013, 10:24. Просмотров 1027. Ответов 8
Метки нет (Все метки)

Добрый день. Стоит такая задача, на сервер по фтп заливаются zip архивы, это происходит каждые 4 часа. Так же на cron стоит каждые 2 минуты запуск скрипта, который должен совершать манипуляции с архивом, который будет загружен. Встал такой вопрос, как узнать, загружен ли архив полностью на сервер? Нельзя ли в настройках сервера указать, чтобы файлы которые ещё не загрузились - не отображались?

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.01.2013, 10:24
Ответы с готовыми решениями:

Как проверить целостность архива rar?
Добрый день всем. Ситуация - скачивается архив .rar с внешнего сайта,...

архив сайта
Добрый день! Как сделать что-то наподобие архива сайта,к примеру посмотреть что...

Zip архив
Ребят Всем привет. В php слабо соображаю, подскажите. В корне сайта лежит...

Элелектронный архив
Тема дипломки написать для архивариуса электронный архив, решил выбрать php и...

Readfile и архив
Товарищи, такая проблема - Нужно возвращать пользователю файлы отчетов....

8
Vovan-VE
13161 / 6546 / 1038
Регистрация: 10.01.2008
Сообщений: 15,070
05.01.2013, 10:56 2
Может, заливать его с именем .zip.tmp , а после завершения уже переименовывать в .zip? Часто такое встречается.
0
CrazyValenoK
0 / 0 / 0
Регистрация: 25.05.2011
Сообщений: 9
05.01.2013, 11:00  [ТС] 3
Цитата Сообщение от Vovan-VE Посмотреть сообщение
Может, заливать его с именем .zip.tmp , а после завершения уже переименовывать в .zip? Часто такое встречается.
Проблема в том, что загрузку файла организует 3я сторона к которой я не имею никакого отношения и повлиять на формат загрузки не могу, вообще в идеале заливается файл на сервер и после заливки запускается обработчик со стороны которая загружала файл. Ещё есть варианты?
0
Vovan-VE
13161 / 6546 / 1038
Регистрация: 10.01.2008
Сообщений: 15,070
05.01.2013, 11:08 4
Цитата Сообщение от CrazyValenoK Посмотреть сообщение
и после заливки запускается обработчик со стороны которая загружала файл
Они удалённо запускают у Вас Ваш обработчик? Переместить zip куда-либо в этот момент времени?
0
CrazyValenoK
0 / 0 / 0
Регистрация: 25.05.2011
Сообщений: 9
05.01.2013, 11:14  [ТС] 5
Цитата Сообщение от Vovan-VE Посмотреть сообщение
Они удалённо запускают у Вас Ваш обработчик? Переместить zip куда-либо в этот момент времени?
В том то и дело, что они просто удалённо кидают архив в определённую папку раз в 4 часа. А у меня на крон стоит каждые 2 минуты запуск скрипта, который и должен разархивировать архив и производить импорт из XML файлов, которые были в архиве, но проблема в том, как бы не напороться на неполностью закаченный архив.

Добавлено через 3 минуты
есть у меня в голове варианты, например первый раз если файл появляется смотреть и записывать его размер в базу, а через 2 минуты снова смотреть и если размер не меняется, то брать и запускать обработку, но это немного геморойно, думаю есть более простой способ решения проблемы
0
Vovan-VE
13161 / 6546 / 1038
Регистрация: 10.01.2008
Сообщений: 15,070
05.01.2013, 11:25 6
Не экспорт данных из 1C, часом? Там же весь процесс в 4 этапа идёт: авторизация, конфигурация, заливка и собственно импорт.
Цитата Сообщение от CrazyValenoK Посмотреть сообщение
файл появляется смотреть и записывать его размер в базу
Вероятность, наверно, низкая, но вед не исключено же: две соседних версии окажутся одинакового размера - будете ловить неуловимые глюки. Тогда уж дату создания/изменения файла.
Если файл не слишком большой, можно считать хеш его тела (md5).

А если...
Bash
1
unzip -t file.zip
0
CrazyValenoK
0 / 0 / 0
Регистрация: 25.05.2011
Сообщений: 9
05.01.2013, 16:44  [ТС] 7
Цитата Сообщение от Vovan-VE Посмотреть сообщение
Если файл не слишком большой, можно считать хеш его тела (md5)
файлы как правило размером до одного Мб, но бывают и до 10 Мб, но это редко. можно подробнее как при помощи хеша можно определить, загружен файл полностью или нет? я знаю, что можно сравнить хеш, но где взять хеш файла, который должен быть у него? то есть можно считать фактический хеш от текущего файла, но с чем его сравнивать?
0
DrobyshevAlex
1173 / 1123 / 94
Регистрация: 31.05.2012
Сообщений: 3,059
05.01.2013, 17:14 8
вся беда в том, что не известен точный размер файла который заливается, по этому при заливке файла нельзя его скрыть или разместить в другом каталоге пока заливается.

Взять даже ФО крупные. Там два варианта загрузки файлов. Сразу по разрыву фтп, файл переносится, и не важно залился он целый или нет.
И второй вариант, перенос по нажатию на кнопку на сайте, то есть юзер сам нажимает кнопку что бвы файлы перенести после заливки.
Для чего второй вариант сделан, так как раз для того, что нет возможности определить загружен ли файл полностью или просто произошел обрыв соединения, так как в фтп обрыв и есть признак конца загрузки файла.

Добавлено через 3 минуты
Опять же, Ваш вариант с проверкой хоть мд5, хоть размера, не гарантирует заливку файла. Если был обрыв, файл испорчен.
С тем же успехом можно перемещать файлы сразу по разрыву соединения.

С дркгой стороны прочерка по мд5 дважды, чрезе две минуты, даст время на докачку файла, если докачка возобновится в течении двух минут, то файл не будет перенесён.

А проверять мд5 в пхп просто md5_file
1
CrazyValenoK
0 / 0 / 0
Регистрация: 25.05.2011
Сообщений: 9
05.01.2013, 18:14  [ТС] 9
Цитата Сообщение от Vovan-VE Посмотреть сообщение
Не экспорт данных из 1C, часом?
Не из 1С, в 1С я знаю как идёт этот процесс). Данные берутся из нескольких баз, в том числе и из 1С, потом формируются xml файлы в нужном формате, пакуются в архив и по FTP передаются на сервер, чем именно передаются я если честно не знаю.
0
05.01.2013, 18:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.01.2013, 18:14

архив zip
с помощью обычной формы я загружаю архив в определенную папку upload.php...

Проверить значение n на целостность
Помогите мне нужно проверить значение n на целостность в паскале есть такая...

Как проверить целостность ОС FreeBSD?
Как проверить целостность ОС FreeBSD в частности серверной ОС?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru