Я щас попробовал, ругает "You can't specify target table 'files' for update in FROM clause" Придётся сперва делать селект, а уж потом толко юзать его результат в другом запросе :(
Поскольку перед выдачей файла всё равно надо из базы считать путь к нему, второй селект не нужен :)
Глянул. =) Ага. =) ИМХО, 2-ой SELECT не пойми зачем. SELECT * FROM `files` WHERE `hash`=$hash; UPDATE `files` SET `counter`=(`counter`+1) WHERE `hash`=$hash; Прямые ссылки здесь всё равно можно получить и разместить. Замысел имеется такой: Файлы по умолчанию лежат в месте, недоступном юзеру. Когда идёт переход по ссылке, файл на время помещается в доступное место, увеличивается счётчик, файл выдаётся юзеру, по окончании - удаляется. По-моему, на sklad.saransk.ru подобный алгоритм.
А у меня не вышло прибавить так :( Но всё равно всё работает. На sklad.saransk, я так понимаю, php передаёт заголовок и начинает выдавать файл. Иначе картинки открывались бы в браузере.