Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Как скачать файл с удаленного сервера
Покинул форум
Сообщений всего: 301
Дата рег-ции: Июнь 2010 Откуда: Челябинск
Помог: 1 раз(а)
Задача такая: скачать mp3 файл по ссылке (ссылка прямо введет на mp3 файл) сам mp3 файл находится не на моем сервере. Использую ниже приведенный скрипт. Он работает, но с некоторыми ошибками:
1) Файл сразу начинает скачиваться, но его полный размер неизвестен.
2) Хотелось бы изменить имя сохраняемого файла на компьютер.
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
1) и не будет известен. Загрузите файл предварительно себе на сервер, с него отдавайте пользователю - будет известен размер.
2) измените его в 8 строке.
----- PostgreSQL DBA
new01
Отправлено: 11 Августа, 2013 - 13:06:06
Посетитель
Покинул форум
Сообщений всего: 301
Дата рег-ции: Июнь 2010 Откуда: Челябинск
Помог: 1 раз(а)
Мелкий, спасибо. А без загрузки к себе на сервер никак нельзя? К примеру, обратиться на сервер и узнать размер файла?
Нашёл вот такой вариант через HEAD заголовки, заранее обратиться к серверу и вытащить оттуда размер. Вроде то.
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Если скажет размер файла - то можно.
Открываете сокет, шлёте GET-запрос, читаете заголовки, выгребаете из них размер файла (если есть, конечно), выдаёте пользователю свои заголовки, читаете дальше ответа сервера и транслируете пользователю файл.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.