lapwing
Новичок
Здравствуйте, уважаемые форумчане. Прошу подсказать как правильно организовать загрузку файлов. Простейший пример - доска объявлений с возможностью закачки фото. У меня собственно три вопроса
1. Как лучше? Организовать добавление объявления и фото в одном скрипте или сделать так, чтобы сначала добавлялась запись, а затем по желанию пользователя можно было добавить фото. Я где то читал, что второй вариант предпочтительнее, так ли это и почему?
2. Данные объявления и фотографии сохранять лучше в одной таблице или для фоток сделать отдельную таблицу?
3.И собственно самый главный вопрос: как сохранить пути к фоткам в БД, если фоток много?
Объясню чего я не понимаю:
Есть форма, через которую закачивается файл. Есть обработчик:
Помогите пожалуйста разобраться в этом вопросе.
1. Как лучше? Организовать добавление объявления и фото в одном скрипте или сделать так, чтобы сначала добавлялась запись, а затем по желанию пользователя можно было добавить фото. Я где то читал, что второй вариант предпочтительнее, так ли это и почему?
2. Данные объявления и фотографии сохранять лучше в одной таблице или для фоток сделать отдельную таблицу?
3.И собственно самый главный вопрос: как сохранить пути к фоткам в БД, если фоток много?
Объясню чего я не понимаю:
Есть форма, через которую закачивается файл. Есть обработчик:
PHP:
<?php
//---различные установки
$i = 0;
$files_count = sizeof($_FILES[$fileElementName]["name"]);
for ($i = 0; $i < $files_count-1; $i++) {
if(!empty($_FILES[$fileElementName]['error'][$i]))
{
//проверка на ошибки
}
}elseif(empty($_FILES[$fileElementName]['tmp_name'][$i]) || $_FILES[$fileElementName]['tmp_name'][$i] == 'none')
{
$error = 'No file was uploaded..';
}
else{
$file = $_FILES[$fileElementName]['tmp_name'][$i];
$filename = $_FILES[$fileElementName]['name'][$i];
$size = getimagesize($_FILES[$fileElementName]['tmp_name'][$i]); //получаем массив значений размеров картинкии её расширения
$mime = strtolower(substr($size['mime'], strpos($size['mime'], '/')+1)); //узнаём mime-тип изображений
if ($mime=='jpeg') $format = 'jpg'; else $format = $mime; //если mime jpeg, то он будет записан как файл .jpg
$new_filename = 'image'.time().'.'.$format; //генерируем новое имя файла
move_uploaded_file($file, $url_name_gal.'/'.$new_filename); //перемещаем файл
[B]// где то здесь как я понимаю должен быть код, который заносит в БД путь к файлу
//запрос составляется следующим образом
// INSERT INTO имя таблицы (имя поля) VALUES ($url_name_gal.'/'.$new_filename)
//если файл один - всё понятно - в поле, допустим с именем pathfoto заносится путь к фото 'папка/имя файла
//а если как в данном случае файлов несколько, они обрабатываются в цикле, то как правильно составить запрос к БД?
[/B]
//дальше собственно идет ресайз фотографии и вывод сообщений об ошибках или успехе
}
?>