Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Скрипт на скачку файла ! (https://forum.antichat.xyz/showthread.php?t=93632)

gri.n 26.11.2008 19:04

Скрипт на скачку файла !
 
Кто нить в курсе как можно реализовать скрипт чтоб он скачивал файл ?

.:EnoT:. 26.11.2008 19:12

в целом заголовки и readfile()
и смотря какой файл, локальный или удалённый?

gri.n 26.11.2008 19:21

на пример файл лежит на серваке в инете и ссылка на скрипт чтоб скачивала этот файл ! как это сделать ?

bons 26.11.2008 19:38

функция php: file_get_contents
http://ru2.php.net/manual/ru/function.file-get-contents.php

FeoЩту 26.11.2008 19:42

<?
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

Цитата:

Сообщение от gri.n
Кто нить в курсе как можно реализовать скрипт чтоб он скачивал файл ?

PHP FXP 3.0 - php-скрипт для перекачивания файлов между FTP, HTTP(s, локальным сервером. Инструкция по установке и использованию на русском языке ( 12 Кб )

.:EnoT:. 26.11.2008 20:03

Писал когда-то
Простой скрипт для скачки удалённых файлов

PHP код:

<?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($etag08).'-'.substr($etag87).'-'.substr($etag158);

        
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);

    }
}

?>


gri.n 26.11.2008 20:04

нет господа ! смею вас поправить и подкорректировать вопрос . Мне нужен скрипт стоб при нажатии определённой ссылки с сайта скачивался и запускался файл ! как это сделать?

.:EnoT:. 26.11.2008 20:13

каков вопрос таков и ответ.

И хватит создавать свои дурацкие темы как скачать и запустить file.exe, тебе уже сто раз ответили про связки сплоитов.

Если по сабжу вопросов больше нет, тему закрываю

_==wolf==_ 26.11.2008 20:14

Цитата:

<?
header('Location: http://domain.com/file.zip');
?>
функция не скачивает файл а всего лишь переадресовывает пользователя на файл с помощью заголовка! попав на файл автоматически начинается скачка файла НА КОМП ПОЛЬЗОВАТЕЛЯ. Тоесть это не то. Ему нужно закачать ФАЙЛ УДАЛЁННО НА СЕРВЕР. ТС копай скрипт php mxGet , там это работает прекрасно!

kolpeex 26.11.2008 20:34

Цитата:

Сообщение от gri.n
нет господа ! смею вас поправить и подкорректировать вопрос . Мне нужен скрипт стоб при нажатии определённой ссылки с сайта скачивался и запускался файл ! как это сделать?

Если ты имеешь в виду:
<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К, чтобы память не уродовать и т.д.

FeoЩту 26.11.2008 22:41

Цитата:

Сообщение от _==wolf==_
функция не скачивает файл а всего лишь переадресовывает пользователя на файл с помощью заголовка! попав на файл автоматически начинается скачка файла НА КОМП ПОЛЬЗОВАТЕЛЯ. Тоесть это не то. Ему нужно закачать ФАЙЛ УДАЛЁННО НА СЕРВЕР. ТС копай скрипт php mxGet , там это работает прекрасно!

нет, ему нужно, что бы файл скачивался пользователю на комп. readfile - лишняя нагрузка на сервер.

FeoЩту 26.11.2008 22:42

Цитата:

Сообщение от kolpeex
Если ты имеешь в виду:
<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К, чтобы память не уродовать и т.д.

этот скрипт выведет в окошко браузера всё содержание скачиваемого файла.

kolpeex 27.11.2008 08:21

Ну, тогда
Код:

<?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';
?>

Если и не так, то пусть он сам и объяснит нормально, что ему нужно.


Время: 07:40