|
|
|
| Как кнопку "скачать" делают грамотно? Если привешу на неё ftp, не погонят ли меня с хостинга?
Может у кого готовый скриптик завалялся?
А может кто умеет разбивать качаемый файл на потоки?
Словом, поделитесь опытом! | |
|
|
|
|
|
|
|
для: Eugene77
(27.04.2007 в 07:20)
| | Ну самый простейший вариант это:
<?php
$file = 'path/to/file.txt';
header("Content-Disposition: attachment; filename=\"$file\"");
header("Content-type: application/octet-stream");
echo file_get_contents ("GET \"$file\"");
?>
|
отдает по http протаколу... Можно еще использовать сокеты... | |
|
|
|
|
|
|
|
для: FroNiTy
(27.04.2007 в 07:39)
| | Неверно. Во всех строках.
Путей в заголовках быть не должно.
параметром file_get_contents является имя файла, а не команда.
file_get_contents гробит память
<?php
$path = 'path/to/'; $file = 'file.txt';
header("Content-Disposition: attachment; filename=\"$file\"");
header("Content-Type: application/octet-stream; name=\"$file\"");
header("Content-Length: ".filesize($path.$file));
fpassthru($f=fopen($path.$file, 'rb'));
fclose($f);
?>
|
| |
|
|
|
|
|
|
|
для: Trianon
(27.04.2007 в 09:46)
| | А чем обусловлено использование fpassthru, а не readfile? | |
|
|
|
|
|
|
|
для: Loki
(27.04.2007 в 10:13)
| | привычкой.
С fpassthru можно указать начальную точку передачи, если нужно ответить на открытый диапазонный запрос (Accept-Ranges). Такой запрос практически всегда возникает при попытке докачать начавшийся загружаться файл. | |
|
|
|
|
|
|
|
для: Trianon
(27.04.2007 в 09:46)
| | А если в директорию, с файлом ещё и htaccess положить, то передаст?
И ещё синтаксис меня запутал: зачем в хедерах после переменной file обратная черта и кавычки?
Этот код, как я понял, предполагается в виде отдельного файла оформить и гиперссылку на него с кнопки направить. А мне хотелось, чтобы это как функция работала, вызванная onClick, а гиперссылка с кнопки на другую страничку вела. Можно так? То есть, чтобы следующая страничка грузилась параллельно с октетным потоком. | |
|
|
|
|
|
|
|
для: Eugene77
(27.04.2007 в 21:52)
| | >А если в директорию, с файлом ещё и htaccess положить, то передаст?
Он никак не повлияет. Ну разве что позволит загрузить еще и htaccess, если Вам вдруг придет в голову такая мысль.
>И ещё синтаксис меня запутал: зачем в хедерах после переменной file обратная черта и кавычки?
Напишите окончательную строку, которую Вы хотите передать, как поле заголовка.
>Этот код, как я понял, предполагается в виде отдельного файла оформить и гиперссылку на него с кнопки направить. А мне хотелось, чтобы это как функция работала, вызванная onClick, а гиперссылка с кнопки на другую страничку вела. Можно так? То есть, чтобы следующая страничка грузилась параллельно с октетным потоком.
Вы начали путать клиентскую и серверную часть. фтопку. | |
|
|
|
|
|
|
|
для: FroNiTy
(27.04.2007 в 07:39)
| | Удалите мой пост)) хоть работает, но ерись... в 6 утра писал неглядя | |
|
|
|
|
|
|
|
для: FroNiTy
(27.04.2007 в 18:06)
| | хоть работает, но ерись
Да в том-то и дело, что работать не будет. | |
|
|
|