|
|
|
|
|
для: cheops
(01.06.2006 в 03:13)
| | Ясно...) | |
|
|
|
|
|
|
|
для: Unkind™
(31.05.2006 в 13:05)
| | >SELECT * FROM tbl WHERE ... ORDER BY RAND() LIMIT 5
>Не понял...И что вернет?
5 случайных записей из таблицы tbl, удовлетворяющих условию WHERE. | |
|
|
|
|
|
|
|
для: Diablo_
(01.06.2006 в 00:23)
| | А! Так скрипт для ламеров? Чего молчали?) | |
|
|
|
|
|
|
|
для: Unkind™
(31.05.2006 в 23:17)
| | Ну Вам то всё под силу, а вот ламерам, нет!:) | |
|
|
|
|
|
|
|
для: Diablo_
(31.05.2006 в 19:54)
| | Там где закодировать, там и раскодировать не трудно...=) | |
|
|
|
|
|
|
|
для: Unkind™
(31.05.2006 в 13:05)
| | А может быть можно как-то с помощью MD5 закодировать???
точнее, закодировать у меня получилось, а вот скачать по этой ссылке, не получается! | |
|
|
|
|
|
|
|
для: cheops
(31.05.2006 в 13:00)
| | SELECT * FROM tbl WHERE ... ORDER BY RAND() LIMIT 5
Не понял...И что вернет? | |
|
|
|
|
|
|
|
для: Diablo_
(31.05.2006 в 12:10)
| | Они скрее всего генерируются при помощи конструкции ORDER BY RAND()
SELECT * FROM tbl WHERE ... ORDER BY RAND() LIMIT 5
|
| |
|
|
|
|
|
|
|
для: Diablo_
(31.05.2006 в 12:10)
| | Например:
order.php
<?php
include "config.php";
header ("Content-type:text/html; charset=windows-1251");
//ID файла, отправленного с формы
$id = htmlspecialchars($_POST['id']);
$q = mysql_query("SELECT * FROM catalog WHERE id='".$id."' LIMIT 1);
if(myqsl_affected_rows($q) == 0)
{
echo "<html>
<head><title>Ошибка</title></head>
<body>
Файла, который вы заказали нет в каталоге.<br/>
</body></title>";
exit();
}
else
{
while($var == mysql_fetch_array($q))
{
$name = $var['type'];
$type = $var['type'];
}
}
echo "<html>
<head><title>Скачивание файла</title></head>
<body>";
$rand = rand(10000000, 99999999);
mysql_query("INSERT INTO orders VALUS(0, '".$id."', '".$rand."');
echo "Вы заказали ".$name." (".$type.")<br/>";
echo "Скачать файл можно по этой ссылке:<br/>";
echo "<a href="download.php?id=".$rand.">DOWNLOAD</a><br/>";
echo "</body></title>";
?>
|
download.php
<?php
include "config.php";
$rand = htmlspecialchars($_GET['id']);
$query = mysql_query("SELECT * FROM orders WHERE rand='".$rand."');
if(myqsl_affected_rows() == 0)
{
header ("Content-type:text/html; charset=windows-1251");
echo "<html>
<head><title>Ошибка</title></head>
<body>
Вы не заказывали этот файл<br/>
</body></title>";
exit();
}
else
{
$sql = mysql_query("SELECT id FROM order WHERE rand='".$rand."');
$id = mysql_result($sql, 0);
$q = mysql_query("SELECT type, link FROM catalog WHERE id='".$id."' LIMIT 1);
if(myqsl_affected_rows($q) == 0)
{
header ("Content-type:text/html; charset=windows-1251");
echo "<html>
<head><title>Ошибка</title></head>
<body>
Файла, который вы заказали нет в каталоге.<br/>
</body></title>";
exit();
}
else
{
while($var = mysql_fetch_array($q))
{
$type = $var['type'];
$link = $var['link'];
}
}
header ("Content-type: ".$type."");
$file = fopen($link, "r");
fpassthru($file);
//Удаление из таблицы заказов
$delete_query = mysql_query("DELETE * FROM orders WHERE rand='".$rand."'");
?>
|
Нужно две таблицы orders (заказы) и catalog (каталог файлов с полями type - тип файла и link - его местоположением)... | |
|
|
|
|
|
|
|
для: Diablo_
(31.05.2006 в 12:10)
| | Ну например так.
links.php
<?
$file = $_GET['file'];
$sql = "SELECT * FROM file_tables WHERE file_id = $file";
$result = fetch_array($sql, MYSQL_ASSOC);
if ($result['time'] > $spec_time
{
// срок годности вышел. ссылка померла
}
else
{
header("Location: path/to/file/" . $result['file_name']);
}
?>
|
имеем ссылку links.php?file=1234567890qwertg
таблица file_tables состоит из метки времени, настоящего пути до файла, фиктивного пути до файла (1234567890qwertg).
первое что пришло в голову. можно еще постоянно переименовывать файлы и давать им имена типа md5(time()).rar чтобы обломить прямые ссылки | |
|
|
|
|