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

Форум PHP

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

 

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

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

тема: Удаление невостребованных файлов
 
 автор: antf   (14.02.2012 в 15:03)   письмо автору
 
 

Здравствуйте.
Есть форма Добавить статью. К статье можно прикрепить несколько файлов. Файлы загружаются через аякс. Как удалять ненужные файлы, если пользователь загрузил файлы, но статью не добавил? У меня есть такое решение:

Помещать такие файлы в папку tmp, в их названии использовать метку времени UNIX. Скрипт, запускаемый через cron, каждый час просматривает папку tmp и удаляет файлы, созданные час назад и позже.

Есть ли решение попроще?

  Ответить  
 
 автор: NW   (14.02.2012 в 16:47)   письмо автору
 
   для: antf   (14.02.2012 в 15:03)
 

Не загружать файлы до создания статьи. Зачем всюду использовать аякс? По старинке оно и проще и надежнее. Обычные поля в форме для создания статьи вставляете, с помощью JS делаете возможность динамического добавления этих полей (раз файлов может быть несколько). Пользователь выбирает какие файлы надо загрузить, а затем скрипт обработки формы загружает файлы ну и т д. Согласитесь это проще и не надо никакого крона и аякса.

Другое дело когда картинки....

  Ответить  
 
 автор: elenaki   (14.02.2012 в 17:24)   письмо автору
 
   для: NW   (14.02.2012 в 16:47)
 

действительно, зачем грузить файлы, если сама статья не загружена?
у самих логики не хватает, а потом будут PHP/AJAX/что-то еще ругать
и искать решение надуманной проблемы. создал статью - крепи файлы.
удалил статью - удалил файлы. не сохранил статью - и файлы сохранять
не надо. прикрепил ненужные - удали (до сохранения статьи).
если у пользователя нет возможности редактировать/удалять то, что он
загрузил - надо его об этом предупредить, пусть будет внимательнее.

  Ответить  
 
 автор: antf   (14.02.2012 в 17:27)   письмо автору
 
   для: NW   (14.02.2012 в 16:47)
 

>Не загружать файлы до создания статьи.

Фичу очень хочет заказчик :) Это не моя затея. Я бы тоже сделал при редактировании или даже отдельным интерфейсом.

  Ответить  
 
 автор: elenaki   (14.02.2012 в 19:17)   письмо автору
 
   для: antf   (14.02.2012 в 17:27)
 

если вы файлы сохраняете раньше, чем статью, как вы потом делаете привязку их статье? как узнать, что эти файлы именно к этой статье относятся? разве не надо для начала узнать id новой статьи?

  Ответить  
 
 автор: NW   (14.02.2012 в 19:37)   письмо автору
 
   для: elenaki   (14.02.2012 в 19:17)
 

>разве не надо для начала узнать id новой статьи?

логично)))

  Ответить  
 
 автор: antf   (14.02.2012 в 19:50)   письмо автору
 
   для: elenaki   (14.02.2012 в 19:17)
 

Сохраню имена загруженных файлов в сессии и воспользуюсь ими добавлении самой статьи.

Мы тоже самое говорим, а нам говорят: "А вот на мейл.ру файлы еще до отправки письма можно загрузить. Сделайте также."

  Ответить  
 
 автор: NW   (14.02.2012 в 20:21)   письмо автору
 
   для: antf   (14.02.2012 в 19:50)
 

тогда наверно предложенный Вами метод в первом посте все таки самый логичный. Кстати как вариант сделать мнимую загрузку для ваших заказчиков, т.е. типа файл загружен (какую нить панельку с индикатором загрузки прикрутить, по типу мейловской), а по факту загружать только после отправки формы. проверить это заказчик не сможет. ну так наверно... и волки сыты и овцы целы :-)

  Ответить  
 
 автор: antf   (14.02.2012 в 20:24)   письмо автору
 
   для: NW   (14.02.2012 в 20:21)
 

Хотя для пользователей это удобно. Статья добавляется только один раз. Не надо ее снова искать после добавления, чтобы прикрепить файлы.

  Ответить  
 
 автор: elenaki   (14.02.2012 в 21:47)   письмо автору
 
   для: antf   (14.02.2012 в 19:50)
 

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

  Ответить  
 
 автор: antf   (14.02.2012 в 22:02)   письмо автору
 
   для: elenaki   (14.02.2012 в 21:47)
 

Но потом-то эти файлы отправляются.

PS Анимированный индикатор не нужен.

  Ответить  
 
 автор: elenaki   (14.02.2012 в 22:20)   письмо автору
 
   для: antf   (14.02.2012 в 22:02)
 

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

  Ответить  
 
 автор: antf   (14.02.2012 в 22:28)   письмо автору
 
   для: elenaki   (14.02.2012 в 22:20)
 

>откуда вы можете знать их судьбу?

Судьбы не знаю.

>ХЗ. сделайте также - покажите мультик об успешной загрузке файлов.

А зачем обманывать пользователя? Файлы должны быть добавлены одновременно со статьей.

  Ответить  
 
 автор: cheops   (14.02.2012 в 17:07)   письмо автору
 
   для: antf   (14.02.2012 в 15:03)
 

Все остальные решения хуже и менее стабильные. Если это реализовано, лучше на этом методе и остановиться.

  Ответить  
Rambler's Top100
вверх

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