![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
hemp_smile |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 13.3.2008 Репутация: нет Всего: нет |
Встала следующая задача. Пропарсить некий сайт. Парсить необходимо не только текст , но и фото. В ходе написания столкнулся со следующей проблемой , фото на сайте который я пытаюсь пропарсить лежат в разных папках (а мне необходимо всё складывать в одну), т.е. могут иметь одинаковые имена. По мимо этого файлы могут повторяться , т.е. во время парсинга мы натыкаемся на один и тот же файл. Не хотелось бы давать разные имена для одних и тех же файлов. после того как фото сохранено у нас на сервере , необходимо сохранить имя этого файла в файл.
На данный момент я пытаюсь сверить размеры файлов с одинаковыми именами. Если размер не совпадает то сохраняем файл с другим именем. если же совпадают , то всё ОК ни чего не делаем. Всё бы ничего но , как узнать скачался ли файл полностью чтобы можно было сверять его размер с размером файлна на моём сервере. Фото качаю с помощью cURL. Жутко завернул , но надеюсь что хоть кто то поймёт что мне надо ![]() Для большего понимания высылаю Код функции закачки файла и проверка размеров
|
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
а что, cURL позволяет качать в несколько потоков? (сам не знаю, потому спрашиваю)
|
|||
|
||||
smartov |
|
|||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: 7 Всего: 259 |
Разве не будет возврата ошибки, если файл скачался не полностью?
Или я не понял условие? |
|||
|
||||
Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 20 Всего: 42 |
Если сервер поддерживает докачку, то почему нет? curl_multi_select и CURLOPT_RESUME_FROM в зубы и вперед. -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
hemp_smile |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 13.3.2008 Репутация: нет Всего: нет |
в том то и дело что не будет ошибки , он просто сверяет размеры , и если файл не докачался , то при сверке размеров файлов , получается что файлы разного размера т.е. по логике это разные файлы, а на самом деле файлы одинаковы |
|||
|
||||
SickFxck |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 16.4.2010 Репутация: нет Всего: 1 |
hemp_smile, кто "он"? Какие размеры? Откуда "он" их берёт?
|
|||
|
||||
hemp_smile |
|
||||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 13.3.2008 Репутация: нет Всего: нет |
"Он" - пхп скрипт. "Какие размеры?" - размеры файла существующего на моём сервере и размер скачиваемого файла с однинаковыми именами. "Откуда "он" их берёт?" -
|
||||
|
|||||
SickFxck |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 16.4.2010 Репутация: нет Всего: 1 |
Кто сказал что не будет ошибки? Даже если картинки отдаются скриптом и не посылается Content-length, то вполне вероятно, что ошибка будет, т.к. есть ещё chunked-encoding. При "неполучении" очередного чанка cURL подвиснет, а потом отвалится по таймауту с ошибкой. |
|||
|
||||
hemp_smile |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 13.3.2008 Репутация: нет Всего: нет |
Либо я не правильно обьяснил , либо ты не совсем понял. Дело в том что курл получает картинку , но ещё не полностью записав её в файл на моём сервере , скрипт продолжает работу и пытается сверить размеры. Что естественно даёт не правильный результат |
|||
|
||||
SickFxck |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 16.4.2010 Репутация: нет Всего: 1 |
hemp_smile, нет, в данном случае скрипт не продолжает работу, пока cURL не докачает файл.
|
|||
|
||||
smartov |
|
|||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: 7 Всего: 259 |
Это анриал. PHP работает в один поток, если не применять специальное расширение. Если размеры разные - значит картинка качается неправильно. Добавлено через 36 секунд Либо размер в хедерах неверный |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |