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

Форум PHP

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

 

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

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

тема: Сохранение в уме :) - уникальные имена файлов
 
 автор: Sywooch   (02.05.2007 в 23:36)   письмо автору
 
 

Извините за название но ничего более подходящего не придумал.
Возможно и не в тот форум запостил, вы уж не серчайте.

Как это не банально звучит но пишу CMS
При создании загрузчика изображений и файлов появился вопрос!

Схема такая:
Все файлы(изображения) хранятся в одной директории допустим "images"
их названия записываются в табличку базы данных.
Что бы не было путаницы с файлами в таблице есть поле с ID(документа) к которому привязаны картинки.
Все работает отлично но есть одно но!
При создании очередного документа и загрузке файлов к нему им назначается ID новости
(последний ID + 1) но если файлы уже загружены а новость не создать то они будут принадлежать следующей созданной новости.

(понимаю что обьясняю сумбурно, да и наверное не умею объяснять вовсе...)

Так вот вопрос? Как можно решить эту проблему...

Возможно ли хранить имена загруженных файлов в "УМЕ" до нажатия кнопы добавить новость. И при добавлении уже занести их в в базу с нужным ID?

   
 
 автор: bronenos   (02.05.2007 в 23:47)   письмо автору
 
   для: Sywooch   (02.05.2007 в 23:36)
 

сессия на помощь

   
 
 автор: Loki   (03.05.2007 в 10:27)   письмо автору
 
   для: Sywooch   (02.05.2007 в 23:36)
 

Если я правильно понимаю вопрос, то можно использовать скрытые поля при добавлении новости.

   
 
 автор: ZuArt   (03.05.2007 в 10:49)   письмо автору
 
   для: Loki   (03.05.2007 в 10:27)
 

честно сказать - совершенно не понимаю связи...
1) что мешает загружать одновременно картинки, вместе с новостью
2) что мешает в новости указывать, какие картинки ей принадлежат

   
 
 автор: Loki   (03.05.2007 в 11:17)   письмо автору
 
   для: ZuArt   (03.05.2007 в 10:49)
 

1) например, опция предварительного просмотра
2) как вариант - большое количество картинок на сервере.

   
 
 автор: ZuArt   (03.05.2007 в 12:39)   письмо автору
 
   для: Loki   (03.05.2007 в 11:17)
 

1) не совсем понятен смысл... Что мешает просто именовать файлы 8-10 разрядным числом??? проверять имя последнего и записывать новый файл с именем последнего+1...

2) Если на то пошло, то после предвариательного просмотра загруженные картинки вообще должны сноситься... иначе я Ваш хостинг забью буквально минут за 15 - просто напишу скрипт, который будет инициировать предв. просмотр с закачкой картинки и потом отказываться от размещения... картинки будут копиться и за сутки максимум забью Вам и 100-200-300-500 Мб выделенного пространства (зависит тока от проп. способности канала)

   
 
 автор: Loki   (03.05.2007 в 13:07)   письмо автору
 
   для: ZuArt   (03.05.2007 в 12:39)
 

1) мы с вами исходим из разных предположений. Вы предполагаете что новости редактируются при помощи визуального редактора, а я не предполагаю ничего сверх того, что автор написал в своем вопросе. А именно: картинки заносятся в БД, а потом им нужно проставить ID новости, а новость пока не создана.
2) вы мой хостинг не забьете, так как я вам на это не дам прав:) А если дам, то эту возможность предусмотрю. Например, буду удалять все файлы у которых в течение часа с момента загрузки не проставлен id новости.

   
 
 автор: ZuArt   (03.05.2007 в 13:31)   письмо автору
 
   для: Loki   (03.05.2007 в 13:07)
 

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

ЗЫ. Хех, а вот по поводу удаления "устаревших" - тут все-таки мысли сходятся - это необходимо =)))

   
 
 автор: Loki   (03.05.2007 в 13:44)   письмо автору
 
   для: ZuArt   (03.05.2007 в 13:31)
 

>изначально более корректный вариант...
более корректный вариант не учитывает задач автора. Вы же не знаете для чего он хранит в БД информацию о файлах... может там поиск будет, ключевые слова, может в новостях будут отображаться не оригиналы картинок, а что-то генерироваться на их основе. Так нет, все тупо уперлись в визуальные редакторы и считают что это "изначально более корректный вариант"... В конце концов эти редакторы весят пол метра... что тут корректного?

   
 
 автор: ZuArt   (03.05.2007 в 14:15)   письмо автору
 
   для: Loki   (03.05.2007 в 13:44)
 

1) ГДЕ я написал "использовать виз редактор"??? Я только сказал только то, что если не нравится предосмотр - а это было в задаче автора...
2) никто в виз. редакторы не упирался - интереса ради скажу за себя - неприемлю их категорически =)))))
3) сами себе противоречите... тут пишете, что варианты и т.д. зачем рассматривать, задавать вопросы, када задача поставлена и сами же в соседнем топе пестрите вопросами и предложениями автору топа...

[поправлено модератором]

   
 
 автор: ZuArt   (03.05.2007 в 12:44)   письмо автору
 
   для: Loki   (03.05.2007 в 11:17)
 

Могу предложить такой алгоритм...

Закачали картинки во врем. папку... Далее при отображении передавать в скрытых полях имена этих файлов... если была кнопка отмена - удалять наф эти файлы (имена будут переданы в скрытых полях), если подтвердили - перенести картинки в папку постоянного хранения с заданием нужных имен файлов...

+ запустить скрипт по крону раз в полчаса-час, который будет проверять ВРЕМЕННУЮ папку и сносить все файлы, старее 30-60 минут - эти файлы остануться. если юзер вместо кнопки отмена размещения просто закроет окно тада временное файло останется и его нуно подчищать...

   
 
 автор: Trianon   (03.05.2007 в 11:05)   письмо автору
 
   для: Sywooch   (02.05.2007 в 23:36)
 

Назначать id объекта, еще не распределив id в пространстве идентификаторов (а кроме механизма auto_increment самого сервера mysql с этой задачей врядли кто-то справится) - явная логическая ошибка, которая аукнется позднее.

   
Rambler's Top100
вверх

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