Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.03.2014, 16:31
Аспирант
Отправить личное сообщение для jobmsk Посмотреть профиль Найти все сообщения от jobmsk
 
Регистрация: 14.06.2012
Сообщений: 41

как передать новый url на скачку файла
есть ссылка на файл типа :
http://sait1.ru/download.php?url=название_файла.txt

как сделать чтобы скрипт в download.php выдавал ссылку на скачку файла с другого домена , типа:

http://sait2.ru/название_файла.txt
ну и ,чтобы у клиентский браузер сохранял файл с тем же названием...
Ответить с цитированием
  #2 (permalink)  
Старый 03.03.2014, 01:45
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от jobmsk
как сделать чтобы скрипт в download.php выдавал ссылку на скачку файла с другого домена
<?
var url = 'http://sait2.ru/' + $_GET['url'];
echo "<a href='$url'>сцылко</a>";
Сообщение от jobmsk
ну и ,чтобы у клиентский браузер сохранял файл с тем же названием...
А это никак. Это только sait2.ru может сделать.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 03.03.2014, 02:40
Аспирант
Отправить личное сообщение для jobmsk Посмотреть профиль Найти все сообщения от jobmsk
 
Регистрация: 14.06.2012
Сообщений: 41

Сообщение от danik.js Посмотреть сообщение
<?
var url = 'http://sait2.ru/' + $_GET['url'];
echo "<a href='$url'>сцылко</a>";
а , ну так это с редиректом получится, а так чтобы без него?
Ответить с цитированием
  #4 (permalink)  
Старый 03.03.2014, 04:27
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от jobmsk
а , ну так это с редиректом получится, а так чтобы без него?
Каким еще редиректом? Ты просил ссылку - скрипт выдаст ссылку. Проблемы?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #5 (permalink)  
Старый 03.03.2014, 15:27
Аспирант
Отправить личное сообщение для jobmsk Посмотреть профиль Найти все сообщения от jobmsk
 
Регистрация: 14.06.2012
Сообщений: 41

возможно не так сформулировал, уточняю - нужно чтобы при клике на http://sait1.ru/download.php?url=название_файла.txt не новая ссылка вылезала , а сразу загрузка начиналась но уже по новой ссылке http://sait2.ru/название_файла.txt
Ответить с цитированием
  #6 (permalink)  
Старый 03.03.2014, 18:21
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Чтоб задать имя скачиваемого файла нужно выстовить http-заголовок Content-Disposition вроде бы.

Ну а сам файл запрашиваешь через fopen fread (если не отключена фишка работы с файлами по http) и отправляешь в stdout. Запросить еще можно через cURL
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #7 (permalink)  
Старый 03.03.2014, 19:21
Аспирант
Отправить личное сообщение для jobmsk Посмотреть профиль Найти все сообщения от jobmsk
 
Регистрация: 14.06.2012
Сообщений: 41

как подсунуть имя файла более менее ясно, но вот как подсунуть ссылку для скачивания причем так чтобы файл не закачивать локально, а просто дать какачть напрямую, но по новой ссылке?
Ответить с цитированием
  #8 (permalink)  
Старый 03.03.2014, 20:33
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Можешь сделать редирект на URL файла. Но тогда не сможешь форсировать закачку, ибо txt-файл браузер скорее всего не предложит сохранить, а вместо этого отобразит его содержимое. Если сервер форсирует сохранение файла (через Content-Disposition), то проблема отпадает.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #9 (permalink)  
Старый 03.03.2014, 20:48
Аспирант
Отправить личное сообщение для jobmsk Посмотреть профиль Найти все сообщения от jobmsk
 
Регистрация: 14.06.2012
Сообщений: 41

Сообщение от danik.js Посмотреть сообщение
Если сервер форсирует сохранение файла (через Content-Disposition), то проблема отпадает.
так в этом и вопрос, как без редиректа это сделать......если ссылка локальная то все работает...а как ссылку с другого ресурса через header подсунуть?
Ответить с цитированием
  #10 (permalink)  
Старый 03.03.2014, 21:01
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Ты либо через соединение со своим сервером передаешь данные (то есть читаешь удаленный файл и отдаешь браузеру данные) - то есть играешь роль прокси. Либо ты редиректишь браузер на другой сервер и он соединяется с ним и качает с него. Других вариантов нет.
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Управление скроллом "а-ля тач" HonesT Элементы интерфейса 2 27.08.2013 14:25
Как передать переменную из JS в PHP методом xhr.send() ? winston3d AJAX и COMET 5 09.02.2013 20:29
Как с помощью JSON передать серверу словарь с данными? Kotakota jQuery 16 16.08.2011 15:23
Как узнать размер загружаемого файла? shkarbatov Серверные языки и технологии 5 14.08.2011 17:12
Как узнать какие ошибки произошли при парсинге xml файла faunder Events/DOM/Window 0 12.09.2008 14:17