Author Topic: MySQL  (Read 4057 times)

0 Members and 1 Guest are viewing this topic.

Offline Fedor

  • Full Member
  • ***
  • Posts: 186
  • Karma: +0/-0
MySQL
« on: April 11, 2007, 19:51:53 »
проблема состоит в следующем, пишу базу данных для сайта, нужно загружать файлы в БД, т.е. в одно из полей таблицы БД. В самой таблице БД файлы хранить думаю не хорошо, как правильно сохранять например ссылку к каждому файлу, т.е. её хранить в БД. Кто что посоветует ?

Offline Diver

  • Hero Member
  • *****
  • Posts: 790
  • Karma: +2/-0
MySQL
« Reply #1 on: April 11, 2007, 22:07:35 »
Ну сохраняешь файл на сервере. А в бд в текстовом поле пишешь путь до файла. В чем проблема? Или я что-то не понимаю? А хранить файлы в mysql наверное можно в блобах (BLOB). Но лучше так не делать. Хотя если у вас МНОГО памяти и база не будет сильно большой, то можно конечно поизвращаться.
MCP

Offline Fedor

  • Full Member
  • ***
  • Posts: 186
  • Karma: +0/-0
MySQL
« Reply #2 on: April 12, 2007, 00:11:57 »
Quote from: Diver
Ну сохраняешь файл на сервере. А в бд в текстовом поле пишешь путь до файла. В чем проблема? Или я что-то не понимаю? А хранить файлы в mysql наверное можно в блобах (BLOB). Но лучше так не делать. Хотя если у вас МНОГО памяти и база не будет сильно большой, то можно конечно поизвращаться.

Мне надо написать админку, с помощью PHP просто раньше загружал файлы в какую либо локальную папку сайта. Теперь у меня задача, чтобы эти файлы пользователи сайта сами добавляли, пишу связку PHP+MySQL, не знаю как правильно сделать чтобы в базе данных сохранялась автоматически ссылка к файлу, а в корне сайта создавались папки, куда эти файлы загружаться будут, например по месяцам

Offline Diver

  • Hero Member
  • *****
  • Posts: 790
  • Karma: +2/-0
MySQL
« Reply #3 on: April 12, 2007, 09:18:54 »
Ну так пользователи же тоже будут через админку добавлять файл? Выбирают файл, выбирают куда грузить, жмут грузить. Все параметры для ссылки есть.
MCP

Offline stranger

  • Hero Member
  • *****
  • Posts: 922
  • Karma: +0/-0
    • http://
MySQL
« Reply #4 on: April 12, 2007, 09:48:23 »
Quote from: Fedor
Мне надо написать админку, с помощью PHP просто раньше загружал файлы в какую либо локальную папку сайта. Теперь у меня задача, чтобы эти файлы пользователи сайта сами добавляли, пишу связку PHP+MySQL, не знаю как правильно сделать чтобы в базе данных сохранялась автоматически ссылка к файлу, а в корне сайта создавались папки, куда эти файлы загружаться будут, например по месяцам
Курим доки по php там есть раздел про загрузку файлов на сервер и есть все переменные в частности путь до файла после загрузки...

В странице загрузки фала пишем
Code: [Select]
<form enctype="multipart/form-data" action="/test.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="2000000">
Send this file: <input name="userfile" type="file">
<input type="submit" value="Send File">

В php странице обработки пишем
Code: [Select]
<?php
 $uploaddir = 'тут пишем куда будем перемещать';
 if (@move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir.$_FILES['userfile']['name'])) {
  print "File is valid, and was successfully uploaded.";
 } else {
  print "There some errors!";
 }

?>

$uploaddir.$_FILES['userfile']['name'] и нужно в базу пихать
Естественно php вначале нужно настроить на возможность загрузки файлов - как это делать смотри в доках...

А создание папок - это лучше системой делать. Шедулером делать запуск на стороне сервера в определенное время и после создания файла менять, например, параметр uploaddir в базе или еще где, а не скриптом... Хотя ничто не мешает реализовать такое поведение в скрипте, но как-то не совсем безопасно получается...
« Last Edit: April 12, 2007, 09:53:58 by stranger »
[span style='font-family:Geneva'][span style='font-size:8pt;line-height:100%'][span style='color:gray']Единственное условие, от которого зависит успех, есть терпение.   Л.Н.Толстой
[/span][/span][/span]