Мне нужно файлы отдавать не на прямую, ну то есть ссылка должна вести не на файл, а на обработчик и в обработчик должны передаваться get данные файла, который нужно отдать. Суть в том, что авторизовавшийся пользователь выгружает на сайт (через html форму) файл, который попадает в папку со всеми файлами (файлы всех форматов) с именем id_time().type, где id - id пользователя, загрузившего файл, time() - время загрузки в unix time, type - исходный формат.. и в базу записывается имя файла при загрузке, имя файла в папке (id_time().type), загрузивший user файл (его id), ну и id файла в таблице. Вот по выгрузке хотелось бы услышать совет, но это ещё не всё... Обработчик: ничего, что путь до файла (обработчика с параметрами) - маленький, ну типо http://example.com/file/5/, где file - обработчик, 5 - get параметр id файла в базе. И ещё, как отдавать файл, чтобы функция is_file() воспринимала файл обработчика с параметрами, обычным файлом и если файла в базе нету, то и is_file($file) === false? Вообще, посоветуйте, как реализовать это всё, от выгрузки и записи в бд, до отдачи файла, через обработчик?
ОБСУЖДЕНИЕ
Посоветуйте. Как отдавать файлы?
сделай занос полного имени файла в базу , и подпапок если требуются и в обработчике делай сравнение id файла..
<?php
$id = intval($_GET['id']);
$file = mysql_fetch_array(mysql_query("SELECT * FROM `табла_зц` WHERE `id` = '".$id."'"));
if ($file['id'] == null)exit('Ошибка загрузки.');
header("Location: тут выводишь полный путь до файла");
exit;
?>
bage, мне нужно отдавать файл с опредённым именем, то есть, я отправляю файл заголовками и redfile();
Никто не имеет доступ к папке с файлами
привяжи какую-нибудь сессию к файлу. Которая меняется после его скачивания => второй раз обратиться по той же сессии нельзя
Лорд, Мне не нужно ни от кого файлы прятать. Я хочу сделать так, чтобы некоторые файлы были доступны, а некоторые - нет, досткпность определяется данными зи базы, как владелец файла сделает, точнее выбирет public или скрытый, так и будет. Я это всё впринципе могу организовать, если посидеть за компом и подумать, но вот с функцией is_file() проблема, вернее не с ней проблема, а с фалом обработчиком.. Хотя это может быть и из-за ModRewrite, я не знаю. Файл я отдаю заголовками и readfile(). Так вот при обращении к is_file(http://адрес до обработчика с параметрами), функция возвращает false, хотя в браузере я открывал обработчик с id файла и мне предложили загрузку файла на комп.
ну так и сделай выбор правообладателю- ставить ограничение или нет. в чем проблема?
is_file() проверяет,является ли обьект файлом и вернет true только в том случае,если есть прямая ссиль на обьект
VITAMIN, А как можно вооплотить то, что я хочу?