Лучший ответ

    1.  1 0

    Jurec314 6 (10176)2927 13 лет  

    Проще реализовать через оператор РНР alias()

Ответы

    1.  0 0

    Фортер 5 (3874)236 13 лет  

    Допустим, у вас есть таблица в базе с именами файлов и их идентификаторами. А также папка files с собственно файлами. Тогда делайте, к примеру, файл download.php, и ссылка на файл будет вида http://www.example.com/download.php?id=1
    Скрипт сделан для примера, чтобы понять принцип. Использовать его не надо, т.к. у нет обработки входящих данных как минимум, да и реальный скрипт будет по-длиннее. Готовое решение на блюдечке с голубой каемочкой вам просто так никто не сделает :)

    $path = "files/";
    $file = $path.mysql_result(mysql_query('SELECT filename FROM files WHERE id='.$_GET['id']), 0, 0);

    if ( $fd = fopen($file, "r") )
    {
        $fsize = filesize($file);
        $path_parts = pathinfo($file);

        header("Content-type: application/octet-stream");
        header("Content-Disposition: filename=\"".$path_parts["basename"]."\"");

        header("Content-length: ".$fsize);
        header("Cache-control: private");

        while(!feof($fd))
        {
            $buffer = fread($fd, 2048);
            echo $buffer;
        }
    }
    fclose ($fd);

Похожие вопросы

Рейтинг@Mail.ru Top.LV PULS.LV Professional rating system