![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| gta4kv |
|
|||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: 21 Всего: 91 |
сабж,
как скопировать файл с удаленного хоста, к себе? |
|||
|
||||
| flashaa |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 19 Всего: 25 |
Если удаленный хост доступен через сокеты, то
теперь полученный контент пиши в файл
|
||||
|
|||||
| gta4kv |
|
||||||||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: 21 Всего: 91 |
спс пс.
Может кому пригодитсо. |
||||||||
|
|||||||||
| gta4kv |
|
|||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: 21 Всего: 91 |
Не хочу создавать новую тему,
хочу спросить, как посчитать вес удаленного файла, не скачивая его себе. |
|||
|
||||
| Всемогущий |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 25.6.2006 Где: Челябинск Репутация: 5 Всего: 13 |
и ещё не маловажный вопрос
а ели файл весит более 8 метров то захлебнётся. |
|||
|
||||
| gta4kv |
|
|||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: 21 Всего: 91 |
||||
|
||||
| vasac |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1060 Регистрация: 4.5.2006 Репутация: 8 Всего: 36 |
gta4kv, в общем случае никак.
|
|||
|
||||
| gta4kv |
|
|||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: 21 Всего: 91 |
Супер.. Проблема в том что URL на файл вводить - юзер. Проверять на хосте - глупо, а вдруг там 100 мб? Если, как сказал Всемогущий, он захлебнется если больше 8-и мб, то конечно норм, но это надо еще будет дождаться пока он будет get'aть эти 8мб.. Это сообщение отредактировал(а) gta4kv - 14.10.2007, 16:51 |
|||
|
||||
| flashaa |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 19 Всего: 25 |
Тогда можно не весь файл запрашивать, а фрагмент.. и тут же писать в файл.
Проверку более 2 мб можно поставить.... 8 мб можно будет и поменять в php.ini http://ru2.php.net/manual/ru/ini.core.php#ini.memory-limit
Это сообщение отредактировал(а) flashaa - 14.10.2007, 17:31 |
|||
|
||||
| gta4kv |
|
||||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: 21 Всего: 91 |
Ну а смысл читать только два метра? Будет просто не полный файл, его же не проверишь полный ли он или нет, что бы выдать юзеру результат |
||||
|
|||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 32 Всего: 401 |
Если сервер честный, то он обязан сам это сказать в заголовке Content-length. А чтоб получить заголовки, не скачивая самого файла, нужно через сокет сделать запрос HEAD. Например, так (по мотивам этого):
Более сложные, но и более надежные примеры есть, например, в комментах к ф-ции filesize в мане... Пример flashaa как раз читает весь файл - небольшими кусками, не переполняя память;). Только надо учитывать, что оба варианта - и через file_get_contents, и через fopen - будут работать, только если это разрешено в настройках. -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| gta4kv |
|
||||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: 21 Всего: 91 |
супер, спасибо |
||||
|
|||||
| vasac |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1060 Регистрация: 4.5.2006 Репутация: 8 Всего: 36 |
На скачиваемый файл Content-Length даст. На тот же "http://yandex.ru" не даст.
Главное помнить, что вы не файлы скачиваете, а запрашиваете документы. Если документ создается динамически, то никакого заранее известного размера у него быть не может. Запросив с помощью HEAD вы можете получить размер одного документа, а когда начнете его скачивать, совершенного другой. |
|||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 32 Всего: 401 |
Это безусловно. Как некогда любили говорить на PHPclub'е, в HTTP файлов нет... -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| gta4kv |
|
|||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: 21 Всего: 91 |
При совсем большом файле - умирает просто.. :(
У меня url строчка, если он не находить расширение файла - то посылает.. Это сообщение отредактировал(а) gta4kv - 14.10.2007, 19:08 |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |