Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Хранение ссылок на файлы в базе данных
 
 автор: kyzma   (25.11.2007 в 17:20)   письмо автору
 
 

как хранить ссылку в базе, что бы при отображении этой ссылки из базы, выбрав её, выполнялись определённые действия?

   
 
 автор: afdm   (25.11.2007 в 19:02)   письмо автору
 
   для: kyzma   (25.11.2007 в 17:20)
 

если имеете ввиду ссылки <a href='site.ru'>site</a>, которые добавляют сами пользователи, то хранить нужно bb-тэги [url][/url], как сделано на данном форуме.
чтобы преобразовать bb-тэги в обычные при выводе из базы, то вот:

$text = "текст текст текст http://site.ru текст текст";
$search = array("/\[url=(['\"]?)(www\.)([^\"']*)\\1](.*)\[\/url\]/siU",
          "/\[url=(['\"]?)([^\"']*)\\1](.*)\[\/url\]/siU",
          "/\[url](www\.)([^\"]*)\[\/url\]/siU",
          "/\[url]([^\"]*)\[\/url\]/siU");

        $replace = array("<a href=\"http://www.\\3\" target=\"_blank\">\\4</a>",
          "<a href=\"\\2\" target=\"_blank\">\\3</a>",
          "<a href=\"http://www.\\2\" target=\"_blank\">\\2\\3</a>",
          "<a href=\"\\1\" target=\"_blank\">\\1</a>");

      $text = preg_replace($search, $replace, $text);

   
 
 автор: kyzma   (25.11.2007 в 20:05)   письмо автору
 
   для: afdm   (25.11.2007 в 19:02)
 

Это маленько не то, что нужно. Попробую по-подробнее объяснить.
У меня есть некоторые файлы (допустим C:\Temp), но хранить их в базе я их не хочу, слишком большой размер файлов. В базе я хочу хранить некоторую информацию о каждом файле и ссылку, по которой они находятся. При отображении таблицы, выводится информация о этих файлах и ссылка, перейдя по которой, данный файл скачивается из C:\Temp пользователю.
Подскажите пожалуйста, как это сделать. Спасибо!!!

   
 
 автор: retsoul   (25.11.2007 в 20:14)   письмо автору
 
   для: kyzma   (25.11.2007 в 20:05)
 

добавлять обычным запросом путь к файлу и данные о файле, которые вы хотите хранить, так что ничего сложного тут нет, труднее будет выводить данные сохраняя относительные пути к файлу, проще - с абсолютными путями

   
 
 автор: kyzma   (25.11.2007 в 20:37)   письмо автору
 
   для: retsoul   (25.11.2007 в 20:14)
 

то есть, в БД я сохраняю ссылку, как "C:\Temp\myfile.doc"(к примеру), правильно я понимаю?
а как сделать, чтобы потом этой ссылкой можно было скачать этот файл?

   
 
 автор: retsoul   (25.11.2007 в 20:41)   письмо автору
 
   для: kyzma   (25.11.2007 в 20:37)
 

да, приблизительно так

при выборке из БД формировать строку как ссылку:

echo "<a href=\"$adr\">file</a>";

где $adr - выбранное поле из БД с адресом к файлу

   
 
 автор: kyzma   (25.11.2007 в 21:34)   письмо автору
 
   для: retsoul   (25.11.2007 в 20:41)
 

а что нужно написать в скрипте, что бы скачать этот file? file может быть любым текстовым форматом

   
 
 автор: retsoul   (25.11.2007 в 21:42)   письмо автору
 
   для: kyzma   (25.11.2007 в 21:34)
 

для этого достаточно будет нажать на ссылку, если это будет не текстовый файл,
иначе написать обработчик, который будет передовать заголовок о том, что файл нужно скачивать,
тогда ссылка приобретёт вид:

<?
echo "<a href=\"download.php?id=$adr\">file</a>";
?>

правда при таком подходе, в переменный $adr стоит передовать id файла из БД
а в файле download.php - уже получать его путь

но это уже вопрос в форум по пхп

для поиска поищите функция header() и организация скачки файлов или файлообменники

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования