Скрипт на скачку файла !

Discussion in 'PHP' started by gri.n, 26 Nov 2008.

  1. gri.n

    gri.n New Member

    Joined:
    12 Nov 2008
    Messages:
    124
    Likes Received:
    4
    Reputations:
    0
    Кто нить в курсе как можно реализовать скрипт чтоб он скачивал файл ?
     
  2. .:EnoT:.

    .:EnoT:. Сексуальное чудовище

    Joined:
    29 May 2007
    Messages:
    803
    Likes Received:
    559
    Reputations:
    50
    в целом заголовки и readfile()
    и смотря какой файл, локальный или удалённый?
     
  3. gri.n

    gri.n New Member

    Joined:
    12 Nov 2008
    Messages:
    124
    Likes Received:
    4
    Reputations:
    0
    на пример файл лежит на серваке в инете и ссылка на скрипт чтоб скачивала этот файл ! как это сделать ?
     
  4. bons

    bons Elder - Старейшина

    Joined:
    20 Dec 2007
    Messages:
    286
    Likes Received:
    121
    Reputations:
    21
    функция php: file_get_contents
    http://ru2.php.net/manual/ru/function.file-get-contents.php
     
  5. FeoЩту

    FeoЩту New Member

    Joined:
    13 Nov 2008
    Messages:
    29
    Likes Received:
    4
    Reputations:
    0
    <?
    header('Location: http://domain.com/file.zip');
    ?>
     
  6. _==wolf==_

    _==wolf==_ Elder - Старейшина

    Joined:
    29 May 2008
    Messages:
    127
    Likes Received:
    38
    Reputations:
    6
    функция не скачивает файл а всего лишь переадресовывает пользователя на файл с помощью заголовка! попав на файл автоматически начинается скачка файла НА КОМП ПОЛЬЗОВАТЕЛЯ. Тоесть это не то. Ему нужно закачать ФАЙЛ УДАЛЁННО НА СЕРВЕР. ТС копай скрипт php mxGet , там это работает прекрасно!
     
  7. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    PHP FXP 3.0 - php-скрипт для перекачивания файлов между FTP, HTTP(s, локальным сервером. Инструкция по установке и использованию на русском языке ( 12 Кб )
     
  8. .:EnoT:.

    .:EnoT:. Сексуальное чудовище

    Joined:
    29 May 2007
    Messages:
    803
    Likes Received:
    559
    Reputations:
    50
    Писал когда-то
    Простой скрипт для скачки удалённых файлов

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

        }
    }

    ?>


     
  9. gri.n

    gri.n New Member

    Joined:
    12 Nov 2008
    Messages:
    124
    Likes Received:
    4
    Reputations:
    0
    нет господа ! смею вас поправить и подкорректировать вопрос . Мне нужен скрипт стоб при нажатии определённой ссылки с сайта скачивался и запускался файл ! как это сделать?
     
  10. .:EnoT:.

    .:EnoT:. Сексуальное чудовище

    Joined:
    29 May 2007
    Messages:
    803
    Likes Received:
    559
    Reputations:
    50
    каков вопрос таков и ответ.

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

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

    _==wolf==_ Elder - Старейшина

    Joined:
    29 May 2008
    Messages:
    127
    Likes Received:
    38
    Reputations:
    6
    функция не скачивает файл а всего лишь переадресовывает пользователя на файл с помощью заголовка! попав на файл автоматически начинается скачка файла НА КОМП ПОЛЬЗОВАТЕЛЯ. Тоесть это не то. Ему нужно закачать ФАЙЛ УДАЛЁННО НА СЕРВЕР. ТС копай скрипт php mxGet , там это работает прекрасно!
     
  12. kolpeex

    kolpeex Member

    Joined:
    17 Feb 2008
    Messages:
    21
    Likes Received:
    8
    Reputations:
    0
    Если ты имеешь в виду:
    <a href="/dwnld.php?QDDWNiQDWiudn">Скачать calc.exe!</a>

    То все предельно просто:
    Code:
    <?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К, чтобы память не уродовать и т.д.
     
    2 people like this.
  13. FeoЩту

    FeoЩту New Member

    Joined:
    13 Nov 2008
    Messages:
    29
    Likes Received:
    4
    Reputations:
    0
    нет, ему нужно, что бы файл скачивался пользователю на комп. readfile - лишняя нагрузка на сервер.
     
  14. FeoЩту

    FeoЩту New Member

    Joined:
    13 Nov 2008
    Messages:
    29
    Likes Received:
    4
    Reputations:
    0
    этот скрипт выведет в окошко браузера всё содержание скачиваемого файла.
     
  15. kolpeex

    kolpeex Member

    Joined:
    17 Feb 2008
    Messages:
    21
    Likes Received:
    8
    Reputations:
    0
    Ну, тогда
    Code:
    <?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';
    ?>
    Если и не так, то пусть он сам и объяснит нормально, что ему нужно.