|
|
автор: co6r (гость) (03.03.2006 в 21:55) |
|
|
для: Trianon
(03.03.2006 в 11:37)
| | точно...забыл про этувозможность, спасибо | |
|
|
|
|
|
|
|
для: co6r (гость)
(03.03.2006 в 09:29)
| | на самом деле из заголовков нужно только
header("Content-type: application/octet-stream; name=\"$filename\"");
header("Content-Disposition: attachment; filename=\"$filename\"");
|
А ежели хочется просто, то неужели правой кнопкой нажать на ссылку и выбрать "Сохранить объект как..." это так сложно? | |
|
|
|
|
автор: co6r (гость) (03.03.2006 в 09:29) |
|
|
для: Трататых
(23.02.2006 в 12:49)
| | 1. я из файлы как раз из zip достаю
2. не ужели, просто через <a href=..> никак нельзя? | |
|
|
|
|
автор: Трататых (24.02.2006 в 11:13) |
|
|
для: co6r
(24.02.2006 в 09:57)
| | Можно и подробнее (некотые переменные остались выше или в др. файле, ну да сам разберёшся):
Скрипт смотрит путь с юних машины через самбу и поддерживает докачку, еств. весь файл в память не берёт.
$filename = '/mnt/samba/'.$serv.'/'.$dira."/".$full;
if (!file_exists($filename))
{
header ("HTTP/1.0 404 Not Found");
echo "HTTP/1.0 404 Not Found";
exit;
}
$fsize = filesize($filename);
$ftime = date("D, d M Y H:i:s T", filemtime($filename));
$fdata = @fopen($filename, "rb");
if (!$fdata)
{
header ("HTTP/1.0 403 Forbidden");
echo "HTTP/1.0 403 Forbidden";
exit;
}
if ($_SERVER["HTTP_RANGE"])
{
$range = $_SERVER["HTTP_RANGE"];
$range = str_replace("bytes=", "", $range);
$range = str_replace("-", "", $range);
if ($range) {fseek($fdata, $range);}
}
if ($range)
{
header("HTTP/1.1 206 Partial Content");
} else {
header("HTTP/1.1 200 OK");
}
header("Content-Disposition: attachment; filename=\"$full\"");
header("Last-Modified: $ftime");
header("Accept-Ranges: bytes");
header("Content-Length: ".($fsize-$range));
header("Content-Range: bytes $range-".($fsize -1)."/".$fsize);
header("Content-type: application/octet-stream");
header("Content-Type: application/force-download"); // вот примерно такие нужны хэдеры
header("Content-Type: application/download");
header("Content-Transfer-Encoding: binary");
while (!feof ($fdata))
{
$inew = date("s");
print fgets($fdata,4096);
} // X while
fclose($fdata);
|
| |
|
|
|
|
|
|
|
для: Трататых
(23.02.2006 в 12:49)
| | >Посылать хедер с несуществующим типом, тогда броузер не будет пытаться его >ассоциировать с каким-либо приложением.
можно поточнее?, что-то у меня не получается... | |
|
|
|
|
автор: Трататых (23.02.2006 в 12:49) |
|
|
для: co6r
(23.02.2006 в 11:39)
| | Можно сделать ещё проще: нужные несколько файлов запаковывать в архив .zip и затем отдавать посетителю.
>А как по ссылке выдавать разные файлы на сохранение?
>А то так он мне их открывает браузером
Посылать хедер с несуществующим типом, тогда броузер не будет пытаться его ассоциировать с каким-либо приложением. | |
|
|
|
|
|
|
|
для: cernos
(21.02.2006 в 16:28)
| | А как по ссылке выдавать разные файлы на сохранение?
А то так он мне их открывает браузером | |
|
|
|
|
|
|
|
для: co6r
(21.02.2006 в 08:07)
| | Вот взять ваш скрипт и переделать таким вот образом:
<?php
Error_Reporting(E_ALL & ~E_NOTICE);
//cikl
for ($i = 0; $i <= count($ARX); $i++)
{
//soxranenie
echo "<a href=\"$ARX[$i]\" title='Скачать файл $ARX[$i]'>$ARX[$i]</a><br>\n";
}
?>
|
| |
|
|
|
|
|
|
|
для: co6r
(21.02.2006 в 14:11)
| | Хм! А не проще ли сделать не галочками, а показывать название файла как ссылку т.е.
[url]image.jpg[/url]
[url]readme.txt[/url]
[url]install.txt[/url]
[url]resorse.jpg[/url]
Каждая ссылка указывает на определенный файл! который хранится где там в темпе | |
|
|
|
|
|
|
|
для: cheops
(21.02.2006 в 13:34)
| | А указать где взять скрипт не можете? | |
|
|
|
|