Здравствуйте,
Есть сайт на Drupal 7, файлы для скачивания с этого сайта хранятся на удаленном сервере (Гугл диск).
Сейчас в ноде прописывается ссылка на файл, хранящийся на удаленном сервере и при клике на нее пользователь переходит на гугл диск.
Нужно чтобы ссылка не переводила пользователя на удаленный сервер, а при клике на нее Drupal скачивал файл себе во временную директорию и отдавал пользователю, после чего удалял его у себя.
Какие есть для этого возможности?
Есть ли возможность докачки файла, так как размер файла может быть большим.
Комментарии
Брат по несчастью..
Если тебе неважно, что пользователи увидят ссылку после загрузки в менеджере загрузок, то у меня в принципе есть практически готовое решение, надо его только допилить под свои нужды http://www.drupal.ru/node/101020 Если файлов мало, то можно вообще использовать простой редирект и прописывать пути вручную.
А вот если нужно чтобы ссылки вообще не было видно, даже в менеджере загрузок, то давай думать вместе. У меня там же есть решение, при котором ссылки вообще нигде не видно, и реализует оно ровно то что ты написал. Но оно само по себе кривое, так как сильно будет вешать apach, т.к. файлы будут передаваться по php. Сейчас копаю в сторону nginx и X-Accel-Redirect, только проблема, что по стандарту X-Accel-Redirect работает только с внутренними путями, но я нашел вот такую ссылочку http://kovyrin.net/2010/07/24/nginx-fu-x-accel-redirect-remote/ и пытаюсь заставить работать все это добро.. у меня сейчас на файл редиректит, но вылезает 500 еррор и в логах пишет, что нужно указать порт, а порт я заранее не знаю, т.к. ссылки могут быть любые.. если у тебя файлы будут хранится в одном месте, то наверное ты можешь прописать статичный порт.
В общем я знаю пока 3 способа:
редирект - удобно скачивать, но видно url в менеджере,
скрипт (curl и прочее) - скачивание с задержкой, вешает серв, url не видно,
скрипт с отсылом заголовка X-Accel-Redirect, который передает задачу по проксированию файла пользователю в nginx - по идее вариант идеальный, но у меня пока что не работает
Буду рад, если поделишься своими достижениями
Разобрался вроде, выставил статус решено у своей темы, так что прошу http://www.drupal.ru/node/101020