Forum Webscript.Ru

Программирование => PHP => Тема начата: chaynik4 от 24 Октября 2002, 15:37:21

Название: Как сделать чтобы файлы только скачивался
Отправлено: chaynik4 от 24 Октября 2002, 15:37:21
как можно сделать чтобы при нажатии на ссылку файл (картинка.jpg) не загружалась в browser, а предлагалось её download.
Я начинаю только разбираться с PHP, а это нужно для фотогалереи..
Спасибо за помощь..
Название: Как сделать чтобы файлы только скачивался
Отправлено: Alexey333 от 24 Октября 2002, 15:52:42
Цитировать
как можно сделать чтобы при нажатии на ссылку файл (картинка.jpg) не загружалась в browser, а предлагалось её download.
Я начинаю только разбираться с PHP, а это нужно для фотогалереи..
Спасибо за помощь..

Запакуй ее, например, в zip.
Название: Как сделать чтобы файлы только скачивался
Отправлено: Гаррилл от 24 Октября 2002, 15:59:21
chaynik4
Или поставь хидеры для скачки.
Название: Как сделать чтобы файлы только скачивался
Отправлено: ThE0ReTiC от 24 Октября 2002, 16:58:01

$filename = \'left.jpg\';

Header("Content-type: application/force-download\\n");
Header("Content-Disposition:filename=$filename\\n");
Header("Content-Length:".(string)(filesize($filename))."\\n");

readfile($filename);

?>

Инджой
http://www.php.net/manual/en/function.header.php - MUST READ.
Особенно комментарии. Там очень много полезного.
Название: Как сделать чтобы файлы только скачивался
Отправлено: chaynik4 от 24 Октября 2002, 17:42:47
ThE0ReTiC
Spasiba
уже пошел читать.

Есть ещё один вопрос (извините если глупый):
стал разбираться с PHP и кругом натыкаюсь на предостережения что записи типа:
http://www.script.phtml?что-нибудь потенциально опасны для сайта, что если $QUERY_STRING получит че-нить не то, то черевато..(а чем никто не говорит).
Может дадите коротко понять че точно не надо делать и че делать чтобы не облажаться (или дайте парельно ссылочку где об этом почитать).
Я перепуган и теперь стал сомневаться преводить ли мой сайт на phtml, ведь я собирался генерить с его помощью страницы и ипользовать схему index.phtml?page_n, а тут сразу потенциальная дыра для взломщика :(
Название: Как сделать чтобы файлы только скачивался
Отправлено: ThE0ReTiC от 24 Октября 2002, 17:44:30
Фильтровать ВСЮ информацию, которая передается в скрипт
Название: Как сделать чтобы файлы только скачивался
Отправлено: chaynik4 от 24 Октября 2002, 17:58:54
спасибо
но неужели все на всех сайтах так и поступают? Т.е всегда за подобной конструкцией стоит фильтр, да? И тогда все будет безопасно, в смысле это единственная дыра? А без $QUERY_STRING и других глобальных переменных как можно обходиться?
Все больше не буду задавать вопросов..
кстати про header спасиб, это то че надо мне было :)
счас сижу разбираюсь
Название: Как сделать чтобы файлы только скачивался
Отправлено: ThE0ReTiC от 24 Октября 2002, 18:07:55
Цитировать
но неужели все на всех сайтах так и поступают?

Угу. А то как же.
Название: Как сделать чтобы файлы только скачивался
Отправлено: rembo от 25 Октября 2002, 04:49:06
Цитировать
Все больше не буду задавать вопросов

Откуда такое пессимистичное настроение? :)
Название: Как сделать чтобы файлы только скачивался
Отправлено: Croaker от 25 Октября 2002, 10:21:17
Цитировать
index.phtml?page_n

Я бы предостерег тебя от таких действий, если под page_n ты подрузомеваешь статичные страницы, хотя это ИМХО.

Если это, скажем, сборник статей, то тогда
index.phtml?art_num - самое оно.

А если ты через файл index.phtml хочешь выводить, скажем "О Компании" и "Наш адрес", то - зачем? PHP ради PHP?
Название: Как сделать чтобы файлы только скачивался
Отправлено: chaynik4 от 25 Октября 2002, 18:42:44
у меня каталог продуктов с описаниями. На catalog.php я хочу сделать магазин (чисто заказ по клику на цене), а вот продуктов куча и колисество страниц увеличивается. Чтобы поменять меню или дизайн все вручную переделываю..
Вы советуете не ипользовать здесь PHP? но тогда наверно SHTML? Если так то в чем разница - количество записей одинакова, но вдруг мене потом взбредет поставить какой-нить код PHP и если все страницы будут *.php а не *.shtml то мне уже не придется их переименовывать (и Yandexу не придется переиндексировать все - для меня это важно)
Мне нужно что-то как на http://www.mobilepc.ru У них все файлы *.htm но я понимаю это PHP. Оправдано PHP для такого сайта, как считаете?
Название: Как сделать чтобы файлы только скачивался
Отправлено: Croaker от 25 Октября 2002, 19:19:45
Да нет. Ты не правильно понял. Мы не не советуем использовать ПХП. Просто иногда ПХП используют ... ну не знаю ради чего. Как пример: есть статичный html сайт и "программисту" взбрело в голову все статичный разделы открывать через index.php какой-нибудь (поверь мне - таких куча), просто меняя параметры. index.php?page=about - выводит раздел о компании, а index.php?page=new - новости. Это бредятина полная. В случае с каталогом - тут все все верно. Если информация одинаковой структуры и по смыслу тоже одиноковая - удобно все выводить через 1 файл. Например список статей ... порекламирую себя  :D тут (http://www.azznews.ru/article.phtml?a=16). Для каталога это тоже применимо.


Цитировать
www.mobilepc.ru У них все файлы *.htm но я понимаю это PHP

как вариант.

Цитировать
Оправдано PHP для такого сайта

да

Цитировать
но тогда наверно SHTML

SHTML сам по себе ПХП не заменит. Его надо использовать в связке с CGI. В твоем случае нет никакой разницы, ИМХО. Даже пхп будет удобней.