dkameleon

dkameleon
Рейтинг
386
Регистрация
09.12.2005
Интересы
деньги, секс и рок-н-рол

например так:

<table width="500" height="30">

<tr>

<td bgcolor="#F06C00"> бланк: </td>

<td bgcolor="#F06C00" align="right"><input name="qw" type="checkbox">проверка</td>

</tr>

</table>

feline:
А зачем докачка?

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

Или при многопоточной закачке качалкой.

Поэтому ничего убирать не советую.

Вот тут проверяется, запросил ли пользователь файл с самого начала и целиком, или только определённый диапазон:

if (!isset($_SERVER["HTTP_RANGE"])) {

Пример хтаццесс:

RewriteEngine on
RewriteBase /
RewriteRule ^downloads\/([^/]+)$ get.php?fn=$1 [L]

Пример кода (get.php) с поддержкой докачки:

Вырезал лишние строки, поэтому прийдётся самостоятельно подправить ;)


$fn = @basename($_SERVER["REQUEST_URI"]);

# processing database counter
$db_connection = db_connect_local(DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
$download = db_get_download($fn);
if (count($download) == 0) {
$download = db_get_latest_download();
}

$fs = @filesize(DIR_DOWNLOADS."/".$download["file_name"]);
if (!$fs) {
header("Location: /");
exit();
}

if (!isset($_SERVER["HTTP_RANGE"])) {
db_increase_download($download["download_id"]);

header ("HTTP/1.1 200 OK");
header ("Expires: Thu, 19 Nov 1981 08:52:00 GMT");
header ("Cache-Control: None");
header ("Pragma: no-cache");
header ("Accept-Ranges: bytes");
header ("Content-Disposition: inline; filename=\"".$download["file_name"]."\"");
if (preg_match("#Opera(/| )([0-9].[0-9]{1,2})#", $_SERVER["HTTP_USER_AGENT"]) or preg_match("#MSIE ([0-9].[0-9]{1,2})#", $_SERVER["HTTP_USER_AGENT"])) {
header("Content-Type: application/octetstream");
} else {
header("Content-Type: application/octet-stream");
}
header ("Content-Length: $fs");
header ("Age: 0");
header ("Proxy-Connection: close");

@readfile(DIR_DOWNLOADS."/".$download["file_name"]);
}else{
ereg("bytes=([0-9]+)", $_SERVER["HTTP_RANGE"], $m);
$contentSize = $fs - intval($m[1]);
$p1 = $fs - $contentSize;
$p2 = $fs - 1;
$p3 = $fs;
$p4= $p3 - $p1;
header ("HTTP/1.1 206 Partial Content");
header ("Expires: Thu, 19 Nov 1981 08:52:00 GMT");
header ("Cache-Control: None");
header ("Pragma: no-cache");
header ("Accept-Ranges: bytes");
header ("Content-Disposition: inline; filename=\"".$download["file_name"]."\"");
if (preg_match("#Opera(/| )([0-9].[0-9]{1,2})#", $_SERVER["HTTP_USER_AGENT"]) or preg_match("#MSIE ([0-9].[0-9]{1,2})#", $_SERVER["HTTP_USER_AGENT"])) {
header("Content-Type: application/octetstream");
} else {
header("Content-Type: application/octet-stream");
}
header ("Content-Range: bytes $p1-$p2/$p3");
header ("Content-Length: $p4");
header ("Proxy-Connection: close");
$fd = @fopen(DIR_DOWNLOADS."/".$download["file_name"], "rb");
@fseek($fd, $p1, SEEK_SET);
while(!@feof($fd)) {
echo(@fread($fd, $p3));
}
@fclose($fd);
}

Конкуренты не дремлют :)

eliteMobile.net:
Ві считаете видать что вам заплатят только за один час? Не чтоит так думать. Кто будет пплатить за то, что ві спите за рабочим местом?

Если Вы считаете, что топикстартер берёт 10 баксов за свой "тихий час", то Вы ещё просто не доросли до почасовой оплаты, как ни банально об этом говорить.

Зингельшухер:
За это время уже выдет РНР-9.3.8 без где будет включена какая нибудь директива "magic_shit_penis" что придётся переписывать всё заново...

Ага! А кто-то когда-то утверждал о необходимости кроссверсийности ;)

eliteMobile.net:
И заметь, что читают только заинтересованніе - многих пугает цифра 700 в названии топика

Ещё я читаю ваши перепалки. В сабже не заинтересован.

Которая из цифр этого числа (!) должна быть самой пугающей?

Вариант с кнопкой:

http://www.webdeveloper.com/forum/showthread.php?p=661659#post661659

Надеюсь, не возникнет сложностей на чекбокс переделать? :)

H@nTeR:
Я всерьез полагаю, что дизайнер, делающий шаблон в фотошопе, должен как минимум иметь представление о верстке. А поэтому не каждый чужой шаблон можно сверстать как задумано его автором

Хм... а у нас рисует дизайны художник, полный ноль в вёрстке. :)

И ничего, верстаются его дизайны без проблем. ;)

javadf:
Она хоть и utf-8, но имеет переменную длину от 1 до 2 байт,

На самом деле до 4 байт:

http://en.wikipedia.org/wiki/UTF-8

мартышон:
Ну и как мне понять, что именно у меня работает?

Если Вы видите это название в таск менеджере, то это таск менеджер ;)

мартышон:
Спрашивается, чего ей мигать, если у меня открыто одно-единственное окно IE?

С обращениями к диску особо не заморачивайтесь.

1. большинству вирусов это не нужно.

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

Обновил версию.

- появилась возможность задания префикса и суффикса отображаемым ссылкам (чтобы удобнее задать отображение списком)

- возможность назначать стоимости ссылок на разных страницах.

- публичный список с расценками.

Пример:

http://fcdemo.my-tools.net/listing.php

Кресненькие - мест нет.

Зелёненькие - есть свободные места. :)

Всего: 8009