|
|
|
| А вот такой вопрос... Как сделать чтобы при клике на ссылке типа <a href=1.jpg>Скачать картинку</a> открывалось не окно браузера с этой самой картинкой, а выдавался запрос на сохранение файла? Знаю что как-то можно с помощью HEADER(), но что-то не могу найти, где я это читал=(( | |
|
|
|
|
|
|
|
для: NorthWind
(04.09.2005 в 23:57)
| | Нужно вместо картинки - дать ссылку на PHP-файл, где перед выводом изображения отправить следующие заголовки
<?php
header("Content-Disposition: attachment; filename=file.gif");
header("Content-type: application/octet-stream");
?>
|
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=242 | |
|
|
|
|
|
|
|
для: cheops
(05.09.2005 в 01:44)
| | Спасибо... Полпути пройдено=)))
Создал файл download.php в дирректории с картинками.
Листинг файла download.php:
<?
$str="Content-Disposition: attachment; filename=".$file;
header($str);
header("Content-type: application/octet-stream");
?>
| При клике на ссылку <a href="../pix/download.php?file=0001.jpg>скачать</a>" действительно выдается запрос на сохранение файла 0001.jpg. Выбираю "сохранить". В указанной папке действительно появляется файл с именем 0001.jpg, но его размер равен 0 байт, в то время как размер файла на сервере составляет 3Кб. В чем проблема? | |
|
|
|
|
|
|
|
для: NorthWind
(06.09.2005 в 14:20)
| | А ещё содержимое файла необходимо отправить
<?
$str="Content-Disposition: attachment; filename=".$file;
header($str);
header("Content-type: application/octet-stream");
echo file_get_contents($file);
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(06.09.2005 в 14:24)
| | Спастбо!!! Самый четкий форум=)) Практически он-лайн консультация по РНР=))) Продолжайте в том же духе=)))!!!! | |
|
|
|
|
|
|
|
для: NorthWind
(06.09.2005 в 14:40)
| | такой вопрос: а что делать если мне надо аттачем avi шку передать?
file_get_contents тут не работает | |
|
|
|
|
|
|
|
для: 1999
(20.02.2006 в 10:45)
| | Передать куда?
PS Под новые вопросы, лучше заводить новые темы. | |
|
|
|
|
|
|
|
для: cheops
(06.09.2005 в 14:24)
| | Что -то не пойму, создал файл doun.php с
<?
$str="Content-Disposition: attachment; filename=".$file;
header($str);
header("Content-type: application/octet-stream");
echo file_get_contents($file);
?>
|
и даю ссылку <a href="pict/doun.php?file=1.jpg">скачать</a> и получаю запрос на сохранение doun.php а не 1.jpg
почему??? | |
|
|
|
|
|
|
|
для: Sasha
(04.12.2005 в 14:03)
| | Что прописано в $file?
PS Под новые вопросы, лучше заводить новые темы... | |
|
|
|
|
|
|
|
для: cheops
(04.12.2005 в 14:33)
| | В смысле, где прописано?
Вот даю ссылку <a href="pict/doun.php?file=1.jpg">скачать</a>
Это как-бы продолжение :) | |
|
|
|
|
|
|
|
для: Sasha
(04.12.2005 в 15:21)
| | А чем качаете? | |
|
|
|
|
|
|
|
для: cheops
(05.12.2005 в 03:29)
| | Да просто в ИЕ перехожу по ссылке, и получаю предложение загрузить doun.php, вместо 1.jpg
Или я что-то неправильно понял в вышеизложенных примерах? | |
|
|
|
|
|
|
|
для: Sasha
(05.12.2005 в 11:17)
| | Хм... странно в IE бы проблем не должно таких возникать... | |
|
|
|
|
|
|
|
для: cheops
(05.12.2005 в 12:26)
| | Добавил в начало кода
и всё заработало.
Но работает, если фото в той-же папке, где и файл. Можо ли указать путь к фоткам в другой директории. Тоесть, чтоб все фотки лежали не там где скрипт. | |
|
|
|
|
|
|
|
для: Sasha
(05.12.2005 в 13:59)
| | указывайте относительные пути:
вложенная папка
folder/
уровень выше
../
соседняя папка
../folder
|
и тд.
или абсолютные пути от корня сервера:
/home/users/account/yoursite.ru/folder/
|
| |
|
|
|
|
|
|
|
для: Loki
(05.12.2005 в 14:16)
| | Это понятно то, но ГДЕ это написать? Пробовал перед $files не получается.
Например для следующей папки, с именем W ? | |
|
|
|
|
|
|
|
для: Sasha
(05.12.2005 в 16:02)
| | Не очень понятно, что вызывает затруднение? | |
|
|
|
|
|
|
|
для: cheops
(05.12.2005 в 22:13)
| | Вызываетзатруднения вот что:
Вложенная папка w, я кажется как угодно уже пытался подставить путь [b]w[//b] в файл
<?
$file = $_GET['file'];
$str="Content-Disposition: attachment; filename=".$file;
header($str);
header("Content-type: application/octet-stream");
echo file_get_contents($file);
?>
|
но ничего толкового не получается. | |
|
|
|
|
|
|
|
для: Sasha
(06.12.2005 в 00:01)
| | А вот этот скрипт что-нибудь даёт
<?
$file = "w/file_in_w.mp3";
$str="Content-Disposition: attachment; filename=".$file;
header($str);
header("Content-type: application/octet-stream");
echo file_get_contents($file);
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(06.12.2005 в 11:04)
| | Да, даёт предложение сохранить файл doun.
Сохраняю, получаю doun.html и в нём строку
Warning: file_get_contents(w/file_in_w.mp3) [function.file-get-contents]: failed to open stream: No such file or directory in E:\Apach\pict\doun.php on line 6 | |
|
|
|
|
|
|
|
для: Sasha
(06.12.2005 в 12:31)
| | А сам файл doun.html по отношению к директории w где расположен? | |
|
|
|
|
|
|
|
для: cheops
(06.12.2005 в 19:56)
| | файла doun.html нет! Есть файл doun.php собственно про который мы и говорим.
Но при переходе по ссылке
<a href="pict/doun.php?file=1.jpg">скачать</a>
| мы, вместио загрузки картинки, получаем загрузку самого doun.php !
У меня работал скрипт ( не знаю насколько он "правильный" )
<?
$file = $_GET['file'];
$str="Content-Disposition: attachment; filename=".$file;
header($str);
header("Content-type: application/octet-stream");
echo file_get_contents($file);
?>
|
но только если фото там-же, где и скрипт. А я хочу чтоб они были во вложенной папке w
и что-то не выходит. | |
|
|
|
|
|
|
|
для: Sasha
(06.12.2005 в 23:17)
| | Хм... тогда вместо
<a href="pict/doun.php?file=1.jpg">скачать</a>
|
вам следует писать
<a href="pict/doun.php?file=w/1.jpg">скачать</a>
|
И как-то исправить
<?php
$str="Content-Disposition: attachment; filename=".$file;
?>
|
Чтобы имя было подобающим. | |
|
|
|
|
|
|
|
для: cheops
(07.12.2005 в 13:37)
| | Гм.
Суть этого дела была скрыть адресс к папке с фотографиями.
а если адресс писать в ссылке, то любой желающий его оттуда вытащит.
А нельзя в самом скрипте прописать адрес к директории, а по ссылке передавать тольки имя файла? | |
|
|
|
|
|
|
|
для: Sasha
(07.12.2005 в 16:05)
| | Тогда строку
<?php
$file = $_GET['file'];
?>
|
заменяйте на
<?php
$file = "w/".$_GET['file'];
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(08.12.2005 в 01:33)
| | Так я уже пробовал, к сожалению не выходит.
Если я делаю
<?
$file = "w/".$_GET['file'];
$str="Content-Disposition: attachment; filename=" .$file;
header($str);
header("Content-type: application/octet-stream");
echo file_get_contents ($file);
?>
|
то получаю запрос сохранить файл doun, а не фото
А если так
<?php
$file = "w/".$_GET['file'];
?>
<?
$str="Content-Disposition: attachment; filename=" .$file;
header($str);
header("Content-type: application/octet-stream");
echo file_get_contents ($file);
?>
|
то имею
Warning: Cannot modify header information - headers already sent by (output started at E:\Apach\sasha\pc\pict\doun.php:4) in E:\Apach\pict\doun.php on line 6
Warning: Cannot modify header information - headers already sent by (output started at E:\Apach\sasha\pc\pict\doun.php:4) in E:\Apach\pict\doun.php on line 7
и дальше похоже на картинку в виде текста. :( | |
|
|
|
|
|
|
|
для: Sasha
(08.12.2005 в 11:53)
| | А вы делайте не не так
<?
$file = "w/".$_GET['file'];
$str="Content-Disposition: attachment; filename=" .$file;
header($str);
header("Content-type: application/octet-stream");
echo file_get_contents ($file);
?>
|
а так
<?
$file = "w/".$_GET['file'];
$str="Content-Disposition: attachment; filename=" .$_GET['file'];
header($str);
header("Content-type: application/octet-stream");
echo file_get_contents ($file);
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(08.12.2005 в 12:59)
| | Фууууу!
СПАСИБО огромное! Заработало! | |
|
|
|
|
|
|
|
для: Loki
(05.12.2005 в 14:16)
| | . | |
|
|
|
|
|
|
|
для: Sasha
(05.12.2005 в 21:46)
| | такой вопрос: а что делать если мне надо аттачем avi шку передать?
file_get_contents тут не работает | |
|
|
|