ФорумПрограммированиеPHP для идиотов → антилич

антилич

  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 6 августа 2009 г. 6:51

    Пишу что то вроде антилича

    header('Content-type: application/zip');
    header('Content-Disposition: attachment; filename="file.zip"');
    header("Content-Length: 1600000");
    readfile('film.zip');

    на выходе file.zip, докачка файла не работает, выдает ошибку. есть какиенибудь варианты? суть в том чтобы даже через http headers пользователь не мог узнать прямую ссылку на исходный файл
  • rider-sx

    Сообщения: 2717 Репутация: N Группа: Адекваты

    Spritz 6 августа 2009 г. 6:58, спустя 7 минут 6 секунд


    Пишу что то вроде антилича

    header('Content-type: application/zip');
    header('Content-Disposition: attachment; filename="file.zip"');
    header("Content-Length: 1600000");
    readfile('film.zip');

    на выходе file.zip, докачка файла не работает, выдает ошибку. есть какиенибудь варианты? суть в том чтобы даже через http headers пользователь не мог узнать прямую ссылку на исходный файл
    Ну как вариант можно передавать через цикл определенное кол-во ьайт в секунду, еси прекратилась передача то запоминать за этим юзверем кол-во переданных уже байт затем если хочет докачать просто начинать отдавать оставшееся )
  • Mr.Pihto

    Сообщения: ? Репутация: N Группа: Адекваты

    Spritz 6 августа 2009 г. 7:17, спустя 18 минут 35 секунд

    дудова система позволяет докачку делать скрывая ссылку на файл
    юзай симлинки
  • rider-sx

    Сообщения: 2717 Репутация: N Группа: Адекваты

    Spritz 6 августа 2009 г. 7:18, спустя 1 минуту 3 секунды


    дудова система позволяет докачку делать скрывая ссылку на файл
    юзай симлинки
    Это что за система ? Оо Поделись )
  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 6 августа 2009 г. 7:37, спустя 18 минут 52 секунды

    симлинк по виндой вроде не работает?
  • rider-sx

    Сообщения: 2717 Репутация: N Группа: Адекваты

    Spritz 6 августа 2009 г. 7:49, спустя 12 минут 7 секунд


    симлинк по виндой вроде не работает?
    нет
  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 6 августа 2009 г. 7:56, спустя 7 минут 33 секунды

    тогда не вариант) ладно, сам чтонить придумаю
  • phpdude

    Сообщения: 26617 Репутация: N Группа: в ухо

    Spritz 6 августа 2009 г. 15:53, спустя 7 часов 56 минут 45 секунд


    тогда не вариант) ладно, сам чтонить придумаю
    попробуй. и начни читать с азов хттп протокола.

    а дудова хуйня - 1dfile.ru
    Сапожник без сапог
  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 9 августа 2009 г. 15:18, спустя 2 дня 23 часа 24 минуты

    $filename = time().'.'.$type; 

    // получаем размер файла
    $fsize = filesize($url);
    // дата модификации файла для кеширования
    $ftime = date( 'D, d M Y H:i:s T', filemtime($url) );
    // смещение от начала файла
    $range = 0;

    // пробуем открыть
    $handle = @fopen($url, 'rb' );

    // если не удалось
    if( !$handle ){
    header ( 'HTTP/1.1 404 Not Found' );
    die();
    }

    // если запрашивающий агент поддерживает докачку
    if( $_SERVER['HTTP_RANGE'] ) {
    $range = $_SERVER['HTTP_RANGE'];
    $range = str_replace( 'bytes=', '', $range );
    $range = str_replace( '-', '', $range );
    // смещаемся по файлу на нужное смещение
    if ( $range ) fseek( $handle, $range );
    }

    // если есть смещение
    if( $range ) {
    header( 'HTTP/1.1 206 Partial Content' );
    } else {
    header( 'HTTP/1.1 200 OK' );
    }

    header( 'Content-Disposition: attachment; filename="film.avi"' );
    header( 'Last-Modified: '.$ftime );
    header( 'Content-Length: '.($fsize-$range) );
    header( 'Accept-Ranges: bytes' );
    header( 'Content-Range: bytes '.$range.'-'.($fsize - 1).'/'.$fsize );

    header( 'Content-Type: '.$mimetype );

    readfile($url);

    fclose($handle);


    ахаха) 1.5 ГБ чет не потянуло)
  • rider-sx

    Сообщения: 2717 Репутация: N Группа: Адекваты

    Spritz 9 августа 2009 г. 15:33, спустя 14 минут 53 секунды

    ещеб ))) Чтоб потянуло тебе надо оперативки 2 Гб иметь и в пхп.ини покапаться увеличить размер макс используемой памяти =) А вообще для антилича самое хорошее это symlink {+++145+++} оооо охуенно !!!
    5.3.0 This function is now available on Windows platforms (Vista, Server 2008 or greater).
    Только блять висту нехочу ставить =( надо на ХР попробывать…
  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 9 августа 2009 г. 15:35, спустя 2 минуты 44 секунды

    я же говорю не могу я под symlink работать) {+++146+++} c mod_rewrite возможно можно сделать. все спать, голова опухла
  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты
  • phpdude

    Сообщения: 26617 Репутация: N Группа: в ухо

    Spritz 10 августа 2009 г. 2:13, спустя 10 часов 28 минут

    я с нгинксом ебался на эту тему)) не донастроил не успел
    Сапожник без сапог
  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 10 августа 2009 г. 2:22, спустя 9 минут 2 секунды

    книженция хорошая http://www.kitab.rabita.az/files/web-serverApache.pdf
  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 10 августа 2009 г. 13:41, спустя 11 часов 19 минут 50 секунд

    обошелся без симлинков и реврайта. Все равно даже при Download Helper'e, просмотре заголовков ссылку на исходный файл не обнаруживает.

Пожалуйста, авторизуйтесь, чтобы написать комментарий!