Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> передача файла через сервер, файл находится на другом сервере 
:(
    Опции темы
nooker
Дата 7.12.2005, 17:16 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Добрый день!
У меня есть вопрос, на который я не могу найти ответ самостоятельно.
Допустим, есть сервер с поддержкой PHP (этот вариант предпочтительней т.к. таких хостингов больше или же это быть CGI написанные на других языках). Пользователю надо дать возможность скачать большой файл находящийся на другом сайте, но так чтобы создавалось впечатление, что он качает его с этого. Возможно ли решить эту задачу при помощи CGI? Как? Если по Вашему мнению это не возможно реализовать при помощи CGI, то при помощи каких средств это можно сделать? Пользователь не должен догадаться, что файл качается с другого адреса.

  Вверх
AntonioBanderaz
Дата 8.12.2005, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Velichko Anton
**


Профиль
Группа: Участник
Сообщений: 851
Регистрация: 28.4.2005
Где: Санкт-Петербург

Репутация: 2
Всего: 18



Код

<?php
function download_file($file = NULL){
        $filename = basename($file);
        //$dir =  dirname($file);
    
        header('Content-type: application/force-download');
        header('Content-Transfer-Encoding: Binary');
        header('Content-length: '.filesize($file));
        header('Content-disposition: attachment; filename='.$filename);
        readfile($file);
}
?>


Если конечно filesize сработает на удалёнке, если нет то придётся сначала копировать к себе на сервер, а потом уже отдавать на скачку.
Если не сработает readfile то вместо него поставь (это для удалёнке, на локальном она работает)
Код

$remote = fopen($file)
while (!feof($remote)) {
    echo fread($remote, 1024);
}
fclose($remote);


Если не сработает basename(), то параллельно передавай в функцию имя для скачки.


--------------------
ГЫ... 
PM MAIL ICQ   Вверх
Mal Hack
Дата 8.12.2005, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(AntonioBanderaz @ 8.12.2005, 10:33)
Если конечно filesize сработает на удалёнке, если нет то придётся сначала копировать к себе на сервер, а потом уже отдавать на скачку.

Не будет рабоать. Но можно написать свою функцию, которая будет узнавать размер удаленного файла. Где-то она была тут.
ЗЫ: А ФТП на что?
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0768 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.