есть сайт www.site.com есть папка в корне /file .. в папке файл лежит file.rar .. есть форма отправки письма с сайта .. PHP: // переменные <?php $ip_now = $_SERVER["REMOTE_ADDR"]; $date_now = date("d.m.Y"); $headers .= 'From:=?' .'windows-1251'. '?B?' . base64_encode('Сообщение с сайта') . '?= ' .'<www.site.com>'. "\r\n"; $mailer = $_POST["mailer"]; $name = $_POST["name"]; $company_name = $_POST["company_name"]; $text = "Добрый день, $name! вот ваш файл: [b]www.site.com/file/file.rar[/b] "; $theme = ("Обновление ФПСУ-IP/Клиента"); //////////////////////////// Пишем в файл логи $filename = 'ip_logs_focus.txt'; $info = "$date_now | $ip_now | $mailer | $name | $company_name \r\n" ; $open = fopen($filename, 'a') or die ( 'Ошибка при открытии файла! ' ); fwrite($open, $info) or die( 'Ошибка при записи в файл! Возможно недостаточно прав!' ); fclose($open); $q = 'select `id`, `ip`, `date`, `mailer`, `full_date` FROM `ip_logs_focus` '; $result = mysql_query($q) || die(mysql_error()); if( !preg_match('/[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9]+$/', $_POST["mailer"]) ) { die ("Указанный E-mail не корректен! <br />"); } while ($ip_logs = mysql_fetch_array($result)) { if ( $ip_logs['date']==$date_now AND $ip_logs['mailer']==$mailer ) { die ('Доступ запрещён! Даты Совпадают ' . $ip_logs['full_date'] . ' / ' . $date_now . ', и e-mail совпадают: ' . $ip_logs['mailer'] . ' / ' . $mailer . '<br> доступно один раз в сутки! '); } } if ( empty($name) or empty($company_name) ) { die ("<b><font style=\"color: red;\">Вы не заполнили одно (или несколько) полей.</font><br>Попробуйте ещё раз! <a href=\"update_client.php\">вернуться >></a></b><br> "); } mail($mailer, $theme, $text, $headers); echo 'На указанный <b>e-mail</b> отправлено письмо'; $result = 'true'; $ip_update = "INSERT into `ip_logs_focus` (IP, DATE, MAILER, NAME, COMPANY_NAME, RESULT) values ('$ip_now','$date_now','$mailer','$name','$company_name','$result') "; $result_ip = mysql_query($ip_update) || die(mysql_error()); ?> задача номер раз .. строку Код (Text): вот ваш файл: www.site.com/file/file.rar заменить на такую примерно : Код (Text): вот ваш файл: www.site.com/jdfh45h3k2k2m то есть каким-нибудь образом генерить ссылку.. как лучше ? может md5 использовать ? или кукисы ?? я просто не совсем понимаю процесс так сказать обратной связи.. ну я сгенерю линк.. письмо придет человеку.. человек тыкнет с почты по линку и браузер выдаст сообщение о том что заданная страничка недоступна .. и задача номер два .. часть кода где while стоит .. не работает.. условие выборки я как-то не так сделал ..(( ps: заранее спасибо...
отвечу так : я хочу получать линки .. которые не будут указывать прямой путь к файлу.. (часть урла чтобы шифровалась) .. вот.. и чтобы такой урл жил.. эмм.. ну скажем так сутки .. то есть по идее мне надо сессии использовать ...
Slovoblydie надо бд, на бд все построить и будет красиво. файл, дата, уникальный идентификатор. и рассылать. роботом проходиться раз в час или раз в сутки и херить старые записи.
2 igordata и так на БД ))) пишется в базу id, время, мыло .. а можно детальнее ?? предположим id = 245 ... создаётся линк такой к примеру: www.site.com/file.php?id=245.. и присылается на мыло .. а дальше ?? в файле file.php мы что делаем ??? видите как ещё можно оказывается ... а я думал только с помощью sessions реализовать можно ... и про робота если не сложно вкратце
Slovoblydie id, время, мыло и какаянить пурга типа "kgarugo4q34jr43ik19", имя файла, тип файла дальше ищем (пора прикрепить ее) тему http://www.php.ru/forum/viewtopic.php?p=109995#109995 дальше сваливаем все файлы в кучу переименовывая их в ихние рандомные "kgarugo4q34jr43ik19" и понеслась Про робота: кроном запускать скрипт. Что такое крон?
перешел по ссылке .. честно говоря не совсем понял что товарищ Mr.M.I.T. выдал в коде.. сижу разбираю его .. мне кажется не то это что нужно мне.. но всё равно спасибо .. -) а все файлы мне и не нужны.. у меня всего один файлик..
По id файла (из твоего примера 245) или по той лабуде (набор произвольных символов какой-нибудь) выбераешь из базы данных путь и имя файла. Дальше можешь, например, перенаправить браузер на этот файл (типа header("Location: {$url}"); )... Если хочешь, чтобы ссылку на файл не видели совсем никак - можешь отдавать файл скриптом. То есть тебе нужно прочитать файл самим скриптом (php) и отдать его пользователю. Предварительно отправив браузер необходимые заголовки, чтобы он понял, что это файл. Думаю, что самый простенький и доступный для понимания скрипт, который это делает - есть тут, его можно доделать/переделать под себя. http://www.php.ru/forum/viewtopic.php?p=75355#75355