![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
The_Aleksey |
|
||||
![]() <?php ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 10.10.2007 Где: Москва Репутация: 5 Всего: 6 |
Всем привет!
Начну издалека... Есть сайт, где любой зашедший пользователь может загрузить файл, причем только графический. Структура сайта такая, что файлы грузятся в папку, которая лежит на одном уровне с public_html (папкой с файлами сайта). С загрузкой никаких проблем нет, но встает задача отображения загруженного файла в браузере, зная его абсолютный путь, и с тем именем, с которым оно было загружено. Пока только нашел на php.net следующее решение
Тут все классно, но файл предлагается скачать, а мне нужно, чтобы выводился в браузере, с тем именем с которым загружен, т.е. код вида
мне не подойдет. Может быть у кого уже было такое, поделитесь мыслями |
||||
|
|||||
Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 20 Всего: 42 |
header('Content-Disposition: attachment; filename='.basename($file));
Вот это отвечает за то имя, под которым файл будет скачиваться -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
The_Aleksey |
|
|||
![]() <?php ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 10.10.2007 Где: Москва Репутация: 5 Всего: 6 |
Это я понимаю, но мне не нужно, чтобы файл предлагалось скачать, а нужно, чтобы он просто вывелся в браузер, и если я правой кнопкой на него нажал, то там вывелось бы его реальное имя
|
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
The_Aleksey, Не пробовал, но, imho, может сработать.
Если сайт на юниксовом хостинге, то можно сохранять с тем именем, как пришло от пользователя. Нужно только убедиться, что имя файла в utf-8 и не содержит несовместимой с файловой системой грязи. Соответственно ссылка формируется как src=".htmlentities(urlencode($filename), ENT_QUOTES)" или с каким подвывертом - можно посмотреть в примерах -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 20 Всего: 42 |
mod_rewrite или его аналоги
и вперед. Под каким именно именем сохранен файл не имеет значения. -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 14 Всего: 137 |
Разве за призыв браузер к скачиванию не отвечает заголовок application/octet-stream и если заменить его на, скажем, image/png то будет выводится картинка.
|
|||
|
||||
The_Aleksey |
|
||||||
![]() <?php ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 10.10.2007 Где: Москва Репутация: 5 Всего: 6 |
Спасибо всем за ответы! В общем сейчас получилось пока следующее
.htaccess
image.php
content-type пока для тестирования задан жестко, в дальнейшем в зависимости от $ext, я его буду менять. Т.е. если папки images и соответствующего файла в ней не существует (а это заведомо так, т.к. такой папки вообще нет), то передаем имя файла в GET переменной, и там уже дальше его обрабатываем. И если в браузере вбить прямой адрес картинки, то все OK, но если вставить адрес в тег img
то HTTP/1.1 404 Not Found... |
||||||
|
|||||||
The_Aleksey |
|
|||
![]() <?php ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 10.10.2007 Где: Москва Репутация: 5 Всего: 6 |
тестировал в denwer на винде, загрузил на unix-хостинг, там все отлично работает, видимо какие-то особенности, которые в общем уже не так важны)
Еще раз всем спасибо! Это сообщение отредактировал(а) The_Aleksey - 28.12.2012, 15:27 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |