| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Несуществующая прямая ссылка на файл |
| Автор: NewDima 22.2.2009, 16:25 |
| Долго думал, даже не получилось придумать, что в поисковике писать =) Вопрос такой. Есть сервер для скачки файлов с него (допустим что-то типа deposit-a или т.п.). Хочу, чтобы с него можно было скачивать файлы следующим образом: дается ссылка примерно такой формы: _http://www.misite.ru/files/best_icons.rar По переходу на нее выдается страница на которой (допустим) предлагается подождать, еще что-то там. Потом появляется ссылка сюда же. Нажимаем ее и браузер предлагает сохранить файл. В общем как-то так. Все это гипотетически, просто стало интересно, как это делается. Так полагаю нужно сначала в .htaccess файле добавить к интерпретируемым файлам, создать сессию, потом при следующем обращении на нашу страницу с той же сессией проверяя некоторые необходимые нам условия выдавать хеадер для настоящего файла... а дальше вообще не понимаю что должно быть. Опишите, пожалуйста, последовательность действий, не обязательно с кодом=) буду благодарен |
| Автор: NewDima 22.2.2009, 16:42 |
| мда, немного неправильно тему назвал, ссылка то существует... |
| Автор: NewDima 22.2.2009, 18:14 |
| ну хоть кто-нибудь, что-нибудь =) |
| Автор: ksnk 22.2.2009, 18:22 |
| Можно выдавать файлы самим PHP. В случае, если требуется докачка - нужно порыскать по гуглу в поисках продвинутого скрипта. Минусы - грузится сервер, нельзя толком обслужить много параллельных закачек с докачкой... В htaccess'е есть параметр rewritemap. Очень завлекательный, правда он довольно сложен в использовании,в основном потому,что как правило его не дают использовать в htaccess'е. Можно добавлять правила к htaccess'у динамически. такое будет даже достаточно работоспособно, ежели ожидается не сильно большой трафик "запросов на скачку". Наверно, самое эффективное решение - http://ru.wikipedia.org/wiki/Жёсткая_ссылка на файл. При проверке валидности желания юзера закачать файл - формируется эта самая жесткая ссылка и выдается юзеру. Время жизни ссылки контролируется кроном. для PHP - это функция http://www.php.net/manual/en/function.symlink.php |
| Автор: NewDima 22.2.2009, 18:25 | ||
| спасибо, разберусь, если что сюда же напишу Добавлено через 13 минут и 18 секунд
Именно это как делается? |
| Автор: zibox86 22.2.2009, 20:13 |
| А таблицы в базе нет всех файлов хранимых на серваке? Можно было бы через базу сделать. |
| Автор: bars80080 22.2.2009, 21:09 |
ссылка на скрипт с некими параметрами, скрипт обрабатывает параметры и решает какой файл выдать. после этого он readfile(); считывает файл направляя его сразу на выход |
| Автор: NewDima 23.2.2009, 13:48 | ||
неужели таким образом скрипт будет выдавать весь файл? а если файл 100метров и скорость у клиента 18 кб/с? Я не могу понять, как это делается на всяких депозитах. Я не думаю, что скрипт подождав сколько-то там секунд дает браузеру прямую ссылку, но так же не думаю, что бедный скрипт пашет в течении целого часа, пока я качаю файл. Несуразица какая-то получается... Что думаете? Или я что не так понял? Добавлено через 1 минуту и 16 секунд а, ksnk же сказал про жесткие ссылки, точно, тогда все понятно, спасибо, тема закрыта |