Просмотр полной версии : Скрипт на скачку файла !
Кто нить в курсе как можно реализовать скрипт чтоб он скачивал файл ?
.:EnoT:.
26.11.2008, 19:12
в целом заголовки и readfile()
и смотря какой файл, локальный или удалённый?
на пример файл лежит на серваке в инете и ссылка на скрипт чтоб скачивала этот файл ! как это сделать ?
функция php: file_get_contents
http://ru2.php.net/manual/ru/function.file-get-contents.php
<?
header('Location: http://domain.com/file.zip');
?>
_==wolf==_
26.11.2008, 19:49
<?
header('Location: http://domain.com/file.zip');
?>
функция не скачивает файл а всего лишь переадресовывает пользователя на файл с помощью заголовка! попав на файл автоматически начинается скачка файла НА КОМП ПОЛЬЗОВАТЕЛЯ. Тоесть это не то. Ему нужно закачать ФАЙЛ УДАЛЁННО НА СЕРВЕР. ТС копай скрипт php mxGet , там это работает прекрасно!
Pashkela
26.11.2008, 19:59
Кто нить в курсе как можно реализовать скрипт чтоб он скачивал файл ?
PHP FXP 3.0 (http://pashkela.narod.ru/progi/phpfxp_3.rar) - php-скрипт для перекачивания файлов между FTP, HTTP(s, локальным сервером. Инструкция по установке и использованию на русском языке ( 12 Кб )
.:EnoT:.
26.11.2008, 20:03
Писал когда-то
Простой скрипт для скачки удалённых файлов
<?php
function download($url, $new_name=''){
$openfile = @fopen($url, 'r');
if (!$openfile){
die('Файл не найден');
}else{
$fileinfo = stream_get_meta_data($openfile);
preg_match('#Content-Length:[\s\S](\d+)#is', join('', $fileinfo['wrapper_data']), $outsize);
$filesize = !empty($outsize[1]) ? $outsize[1] : '';
preg_match('#Last-Modified:[\s\S](.+GMT)#Uis', join('', $fileinfo['wrapper_data']), $outmod);
$last_modifed = !empty($outmod[1]) ? $outmod[1] : '';
preg_match('#Content-Type:[\s\S](.*)\s#U', join(' ', $fileinfo['wrapper_data']), $outmime);
$mime_type = !empty($outmime[1]) ? $outmime[1] : '';
fclose($openfile);
$etag = md5($filename);
$etag = substr($etag, 0, 8).'-'.substr($etag, 8, 7).'-'.substr($etag, 15, 8);
header('HTTP/1.1 200 Ok');
header('Content-Length: '.$filesize);
header('ETag: "'.$etag .'"');
header('Accept-Ranges: bytes');
header('Connection: close');
header('Content-Type: '.$mime_type);
header('Last-Modified: '.$last_modifed);
header('Content-Disposition: attachment; filename="'.$new_name.'";');
echo readfile($filename);
}
}
?>
нет господа ! смею вас поправить и подкорректировать вопрос . Мне нужен скрипт стоб при нажатии определённой ссылки с сайта скачивался и запускался файл ! как это сделать?
.:EnoT:.
26.11.2008, 20:13
каков вопрос таков и ответ.
И хватит создавать свои дурацкие темы как скачать и запустить file.exe, тебе уже сто раз ответили про связки сплоитов.
Если по сабжу вопросов больше нет, тему закрываю
_==wolf==_
26.11.2008, 20:14
<?
header('Location: http://domain.com/file.zip');
?>
функция не скачивает файл а всего лишь переадресовывает пользователя на файл с помощью заголовка! попав на файл автоматически начинается скачка файла НА КОМП ПОЛЬЗОВАТЕЛЯ. Тоесть это не то. Ему нужно закачать ФАЙЛ УДАЛЁННО НА СЕРВЕР. ТС копай скрипт php mxGet , там это работает прекрасно!
нет господа ! смею вас поправить и подкорректировать вопрос . Мне нужен скрипт стоб при нажатии определённой ссылки с сайта скачивался и запускался файл ! как это сделать?
Если ты имеешь в виду:
<a href="/dwnld.php?QDDWNiQDWiudn">Скачать calc.exe!</a>
То все предельно просто:
<?php
$files = array(
'QDDWNiQDWiudn' => '../../downloads/calc.exe'
);
if($files[$_SERVER['QUERY_STRING']]) {
echo file_get_contents($files[$_SERVER['QUERY_STRING']];
} else echo 'Нет такого файла :P';
?>
А дальше по вкусу. Хочешь базу - прикручивай базу. Измени file_get_contents на вывод по 4К, чтобы память не уродовать и т.д.
функция не скачивает файл а всего лишь переадресовывает пользователя на файл с помощью заголовка! попав на файл автоматически начинается скачка файла НА КОМП ПОЛЬЗОВАТЕЛЯ. Тоесть это не то. Ему нужно закачать ФАЙЛ УДАЛЁННО НА СЕРВЕР. ТС копай скрипт php mxGet , там это работает прекрасно!
нет, ему нужно, что бы файл скачивался пользователю на комп. readfile - лишняя нагрузка на сервер.
Если ты имеешь в виду:
<a href="/dwnld.php?QDDWNiQDWiudn">Скачать calc.exe!</a>
То все предельно просто:
<?php
$files = array(
'QDDWNiQDWiudn' => '../../downloads/calc.exe'
);
if($files[$_SERVER['QUERY_STRING']]) {
echo file_get_contents($files[$_SERVER['QUERY_STRING']];
} else echo 'Нет такого файла :P';
?>
А дальше по вкусу. Хочешь базу - прикручивай базу. Измени file_get_contents на вывод по 4К, чтобы память не уродовать и т.д.
этот скрипт выведет в окошко браузера всё содержание скачиваемого файла.
Ну, тогда
<?php
$files = array(
'QDDWNiQDWiudn' => '../../downloads/calc.exe'
);
if($files[$_SERVER['QUERY_STRING']]) {
Header('Content-Type: application/octet-stream; name="'.basename($files[$_SERVER['QUERY_STRING']]).'"');
echo file_get_contents($files[$_SERVER['QUERY_STRING']]);
} else echo 'Нет такого файла :P';
?>
Если и не так, то пусть он сам и объяснит нормально, что ему нужно.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot