|
Загрузка файлов через скрипт
|
|||
---|---|---|---|
#18+
Есть веб-сайт, который предоставляет доступ к файлам на веб-сервере (за пределами www-каталога) в зависимости от ряда условий. Доступ к файлам осуществляется через скрипт getfile.php и выглядит примерно так: href="/getfile.php?owner=user1&file=file1.txt" В скрипте, соответственно, проверяется что у пользователя user1 есть право доступа к файлу file1.txt и отдается содержимое, примерно так: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
В принципе данный скрипт работает более-менее приемлемо — файлы с контентом (изображения, медиафайлы, тексты) открывает в окне браузера, остальное предлагает скачать, подставляя подходящее имя файла. Но есть небольшое пожелание. Например если ссылка будет вести на графический файл (например getfile.php?owner=user1&file=image.jpg) и по этой ссылке пользователь выберет команду "Сохранить ссылку как...", то в диалоговом окне ему предложат сохранить файл под именем getfile.php. Я бы хотел, чтобы и в этом случае браузер пользователя предлагал сохранить файл под правильным именем. Сейчас, чтобы это обеспечить, я поменял схему URL, она выглядит так: getfile.php/user1/image.jpg В этом случае браузер предлагает правильное имя для сохранения, но у меня есть некоторые причины, чтобы сохранить прежнюю схему (указывать параметры в query string). Можно ли такое сделать? Чтобы указывать браузеру предпочитаемое имя файла, но при этом подходящие по типу файлы не загружать, а открывать в окне браузера. Если для Content-Disposition указывать тип inline, то filename игнорируется. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2020, 22:08 |
|
Загрузка файлов через скрипт
|
|||
---|---|---|---|
#18+
Alibek B. Например если ссылка будет вести на графический файл Alibek B. у меня есть некоторые причины, чтобы сохранить прежнюю схему (указывать параметры в query string). ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2020, 23:33 |
|
Загрузка файлов через скрипт
|
|||
---|---|---|---|
#18+
Alibek B. Но есть небольшое пожелание. Например если ссылка будет вести на графический файл (например getfile.php?owner=user1&file=image.jpg) и по этой ссылке пользователь выберет команду "Сохранить ссылку как...", то в диалоговом окне ему предложат сохранить файл под именем getfile.php. Я бы хотел, чтобы и в этом случае браузер пользователя предлагал сохранить файл под правильным именем. Сейчас, чтобы это обеспечить, я поменял схему URL, она выглядит так: getfile.php/user1/image.jpg В этом случае браузер предлагает правильное имя для сохранения, но у меня есть некоторые причины, чтобы сохранить прежнюю схему (указывать параметры в query string). Можно ли такое сделать? Чтобы указывать браузеру предпочитаемое имя файла, но при этом подходящие по типу файлы не загружать, а открывать в окне браузера. Если для Content-Disposition указывать тип inline, то filename игнорируется. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2020, 11:12 |
|
Загрузка файлов через скрипт
|
|||
---|---|---|---|
#18+
Barlone Когда вы кликаете по ссылке правой кнопкой и выбираете "Сохранить ссылку как...", браузер не шлет запросов на сервер, а предлагает имя на основе текста ссылки. ... Никакими заголовками в скрипте вы не сможете повлиять на выбор имени для сохранения Это логично, но я как-то встречал сайт, на котором при клике предлагалось сохранение файла с заданным именем, которого в URL не было. Но я не помню, где я это встречал, чтобы просмотреть, как это сделано. Вот и подумал, может быть в современных браузерах реализованы какие-то дополнительные заголовки. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2020, 12:31 |
|
|
start [/forum/topic.php?fid=23&tid=1459726]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
others: | 274ms |
total: | 415ms |
0 / 0 |