|
|
|
| как дать пользователям для скачивания .pdf или.jpg в виде файла без вывода в браузер?
Если это невозможно, то тогда как скрыть их реальный адрес?
Я попробовал так:
header("Location: upload/files/somefile.pdf");
header("Content-type: application/octet-stream");
exit;
|
файл pdf открывается в браузере.. а там видно его адрес... | |
|
|
|
|
|
|
|
для: pindos
(29.10.2009 в 15:01)
| | адрес будет видно так или иначе. | |
|
|
|
|
|
|
|
для: Trianon
(29.10.2009 в 15:03)
| | Но это будет адрес не pdf а php файла, в котором был написан код.
Я попробовал так:
$file="upload/files/1.pdf";
header('Content-Disposition: attachment; filename="'.$file.'";');
header('Content-type: application/unknown');
fpassthru(fopen($file, 'rb'));
|
Здесь адрес pdf файла не виден, но вместо предложения скачать файл, пользователь получает его в виде символов в окне браузера.
Может есть способ подавить вывод в браузер и вызвать таки окно с предложением открыть или скачать файл? | |
|
|
|
|
|
|
|
для: pindos
(29.10.2009 в 15:53)
| | > application/unknown
Что написано — то и получаете. | |
|
|
|
|
|
|
|
для: Саня
(29.10.2009 в 16:02)
| | a чё надо писать? | |
|
|
|
|
|
|
|
для: pindos
(29.10.2009 в 16:06)
| | application/octet-stream | |
|
|
|
|
|
|
|
для: Саня
(29.10.2009 в 16:33)
| | Уррааа!! Заработало!!!
Вот только теперь проблеммка:
-все скачиваемые файлы имеют одно и то же имя - 2.pdf (ведь вызывающий скрипт носит гордое имя 2.php!!!
<?
$file3="upload/files/1235483076.pdf";
header("Content-Disposition: attachment; filename=$file3");
header("Content-Type: application/octet-stream; name=$file3");
fpassthru(fopen($file3, 'rb'));
exit;
?>
|
Кто нибудь знает, как давать файлам другие имена? | |
|
|
|
|
|
|
|
для: pindos
(29.10.2009 в 16:50)
| | Кстати заработало вот так:
<?$file="upload/files/somefile.pdf";
$name="chumardos";
header("Content-Disposition: attachment; filename=\"".$name."\"");
//header("Content-Type: application/octet-stream");
readfile($file);
?>
|
Кто-нибудь знает почему? | |
|
|
|
|
|
|
|
для: pindos
(29.10.2009 в 16:50)
| | $file3="upload/files/1235483076.pdf";
Вы не имеете права навязывать путь удаленной стороне.
Куда разместить файл - дело клиента, а не сервера. | |
|
|
|