RezaFH
April 23rd, 2010, 11:45
سلام
همونطور که میدونید ، دانلود منیجرها برای دانلود فایل ، اون رو بصورت چند تکه دانلود میکنند (مثلا 8 تکه)
من میخوام این تعداد رو روی سرور برای فایلها محدود کنم (مثل آپلود سنتر ها) و مثلا هر فایل برای کسی که دانلود میکنه ، حداکثر دو تکه بشه برای دانلود
این لینک رو پیدا کردم :
Limit the number of downloads per client | Web Development Blog (http://www.web-development-blog.com/archives/limit-the-number-of-downloads-per-client/)
اما دقیق متوجه نشدم که چطوری استفاده کنم :d
$path = addslashes($_SERVER['REQUEST_URI']);
$ip = addslashes($_SERVER['REMOTE_ADDR']);
$dl = false;
$sql = sprintf("SELECT UNIX_TIMESTAMP(last_access) last_time FROM downloaded WHERE filepath = '%s' AND ipadres = '%s' ORDER BY last_access DESC", $path, $ip);
$res = mysql_query($sql);
if (mysql_num_rows($res) > 0) {
$last_xs = mysql_result($res, 0, 'last_time')+3600;
if ($last_xs < time()) {
mysql_query(sprintf("REPLACE downloaded SET filepath = '%s', ipadres = '%s', last_access = NOW()", $path, $ip));
$dl = true;
}
} else {
$sql = sprintf("REPLACE downloaded SET filepath = '%s', ipadres = '%s', last_access = NOW()", $path, $ip);
mysql_query($sql);
$dl = true;
}
ضمن اینکه این کد ، تنظیمات زیادی داره ولی من جز تعداد کانکشن ، نمیخوام چیز دیگه ای محدود باشه
نمیدونم کسی همچین کاری روی سرورشش انجام داده یا نه ولی خیلی چیز خوبیه و مصرف منابع رو پایین میاره (مخصوصا روی سرور دانلود)
همونطور که میدونید ، دانلود منیجرها برای دانلود فایل ، اون رو بصورت چند تکه دانلود میکنند (مثلا 8 تکه)
من میخوام این تعداد رو روی سرور برای فایلها محدود کنم (مثل آپلود سنتر ها) و مثلا هر فایل برای کسی که دانلود میکنه ، حداکثر دو تکه بشه برای دانلود
این لینک رو پیدا کردم :
Limit the number of downloads per client | Web Development Blog (http://www.web-development-blog.com/archives/limit-the-number-of-downloads-per-client/)
اما دقیق متوجه نشدم که چطوری استفاده کنم :d
$path = addslashes($_SERVER['REQUEST_URI']);
$ip = addslashes($_SERVER['REMOTE_ADDR']);
$dl = false;
$sql = sprintf("SELECT UNIX_TIMESTAMP(last_access) last_time FROM downloaded WHERE filepath = '%s' AND ipadres = '%s' ORDER BY last_access DESC", $path, $ip);
$res = mysql_query($sql);
if (mysql_num_rows($res) > 0) {
$last_xs = mysql_result($res, 0, 'last_time')+3600;
if ($last_xs < time()) {
mysql_query(sprintf("REPLACE downloaded SET filepath = '%s', ipadres = '%s', last_access = NOW()", $path, $ip));
$dl = true;
}
} else {
$sql = sprintf("REPLACE downloaded SET filepath = '%s', ipadres = '%s', last_access = NOW()", $path, $ip);
mysql_query($sql);
$dl = true;
}
ضمن اینکه این کد ، تنظیمات زیادی داره ولی من جز تعداد کانکشن ، نمیخوام چیز دیگه ای محدود باشه
نمیدونم کسی همچین کاری روی سرورشش انجام داده یا نه ولی خیلی چیز خوبیه و مصرف منابع رو پایین میاره (مخصوصا روی سرور دانلود)