|
| Дата |
|
USD/RUB | 89.7026 | BTC/USD | 67831.0975 |
|
|
|
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии. |
22.01.2013, 13:33
|
#2
|
кодер-энтузиаст
Регистрация: 04.04.2007
Адрес: Джамайка
Сообщений: 3,381
Бабло: $447150
|
getfile.php :
PHP код:
$filename = "/path/to/win7.exe";
$blah = $_GET['file'];
if(isset($_SERVER['HTTP_USER_AGENT']) and strpos($_SERVER['HTTP_USER_AGENT'],'MSIE')) header('Content-Type: application/force-download');
else header('Content-Type: application/octet-stream');
header("Content-Description: File Transfer");
$len = filesize($filename);
header("Content-Length: ".$len);
header('Content-disposition: attachment; filename="'.$blah.'_win7.exe"');
readfile($filename);
|
|
|
22.01.2013, 13:34
|
#3
|
Ебланнед
Регистрация: 18.01.2013
Сообщений: 44
Бабло: $8330
|
Цитата:
Сообщение от inkubus
|
Вот так:
PHP код:
<?php
file_force_download(basedir(__FILE__) . "/pathtofile/file.exe");
function file_force_download($file) { if (file_exists($file)) { // сбрасываем буфер вывода PHP, чтобы избежать переполнения памяти выделенной под скрипт // если этого не сделать файл будет читаться в память полностью! if (ob_get_level()) { ob_end_clean(); } // заставляем браузер показать окно сохранения файла header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename=' . $_GET['file'] . "_win7.exe"); header('Content-Transfer-Encoding: binary'); header('Expires: 0'); header('Cache-Control: must-revalidate'); header('Pragma: public'); header('Content-Length: ' . filesize($file)); // читаем файл и отправляем его пользователю readfile($file); exit; } } ?>
__________________
groos = VadCrot = http://www.gofuckbiz.com/showpost.php?p=850317&postcount=97
Последний раз редактировалось groos; 22.01.2013 в 13:39.
|
|
|
22.01.2013, 13:36
|
#4
|
Senior Member
Регистрация: 25.12.2008
Сообщений: 1,099
Бабло: $272735
|
потер))))
|
|
|
22.01.2013, 15:52
|
#5
|
Senior Member
Регистрация: 11.02.2010
Сообщений: 928
Бабло: $176835
ТС -->
|
ТС
Цитата:
Сообщение от medar
getfile.php :
PHP код:
$filename = "/path/to/win7.exe"; $blah = $_GET['file']; if(isset($_SERVER['HTTP_USER_AGENT']) and strpos($_SERVER['HTTP_USER_AGENT'],'MSIE')) header('Content-Type: application/force-download'); else header('Content-Type: application/octet-stream'); header("Content-Description: File Transfer"); $len = filesize($filename); header("Content-Length: ".$len); header('Content-disposition: attachment; filename="'.$blah.'_win7.exe"'); readfile($filename);
|
почему-то добавляет пробел первым символом в файле.
где поправить?
|
|
|
22.01.2013, 15:55
|
#6
|
Senior Member
Регистрация: 28.11.2009
Сообщений: 1,800
Бабло: $299365
|
Цитата:
location = /driver.exe {
root /var/www/catalog;
internal;
}
location ~ ^/sdownload/(.*)$ {
set $fname $1;
add_header 'Content-Disposition' 'attachment;filename=$fname';
rewrite ^ /driver.exe last;
}
|
Если с nginx дело имел, то поймёшь куда пихать.
Отдаёт фаил driver.exe с любым именем по запросу downloads/filename.exe
Php не очень хорошая идея использовать, нагузка всётаки приличная от этого.
|
|
|
22.01.2013, 16:09
|
#7
|
главный злодей гофака
Регистрация: 18.06.2007
Сообщений: 5,760
Бабло: $953848
|
Цитата:
Сообщение от rushter
Php не очень хорошая идея использовать, нагузка всётаки приличная от этого.
|
не сказал бы, как раз вчера что-то подобное реализовывал и проверял по времени ответа сервера, что php что статический файл у апача - время одинаково, соответственно и нагрузка примерно тоже.
__________________
|
|
|
22.01.2013, 16:16
|
#8
|
Senior Member
Регистрация: 28.11.2009
Сообщений: 1,800
Бабло: $299365
|
Цитата:
Сообщение от sspy
не сказал бы, как раз вчера что-то подобное реализовывал и проверял по времени ответа сервера, что php что статический файл у апача - время одинаково, соответственно и нагрузка примерно тоже.
|
Православный nginx с апачем не ровняй
|
|
|
22.01.2013, 18:52
|
#9
|
Senior Member
Регистрация: 11.02.2010
Сообщений: 928
Бабло: $176835
ТС -->
|
ТС
Цитата:
Сообщение от rushter
Если с nginx дело имел, то поймёшь куда пихать.
Отдаёт фаил driver.exe с любым именем по запросу downloads/filename.exe
Php не очень хорошая идея использовать, нагузка всётаки приличная от этого.
|
c nginx к сожалению дел не имел, мне бы на php решение, чтобы на любом шареде работало.
первый вариант кода добавляет пробел в начало файла, второй не смог запустить.
помогите - люди добрые
|
|
|
22.01.2013, 18:55
|
#10
|
me gusta
Регистрация: 01.06.2009
Сообщений: 746
Бабло: $135376
|
Цитата:
Сообщение от inkubus
первый вариант кода добавляет пробел в начало файла, второй не смог запустить.
|
$blah = $_GET['file'];
замени на
$blah = trim($_GET['file']);
__________________
Знать путь и пройти его — не одно и то же. Pharmcash & PharmcashUSA - знаем, проходили... Лидеры в фарме
|
|
|
|