|
|
|
| Здравствуйте.
Есть форма Добавить статью. К статье можно прикрепить несколько файлов. Файлы загружаются через аякс. Как удалять ненужные файлы, если пользователь загрузил файлы, но статью не добавил? У меня есть такое решение:
Помещать такие файлы в папку tmp, в их названии использовать метку времени UNIX. Скрипт, запускаемый через cron, каждый час просматривает папку tmp и удаляет файлы, созданные час назад и позже.
Есть ли решение попроще? | |
|
|
|
|
|
|
|
для: antf
(14.02.2012 в 15:03)
| | Не загружать файлы до создания статьи. Зачем всюду использовать аякс? По старинке оно и проще и надежнее. Обычные поля в форме для создания статьи вставляете, с помощью JS делаете возможность динамического добавления этих полей (раз файлов может быть несколько). Пользователь выбирает какие файлы надо загрузить, а затем скрипт обработки формы загружает файлы ну и т д. Согласитесь это проще и не надо никакого крона и аякса.
Другое дело когда картинки.... | |
|
|
|
|
|
|
|
для: NW
(14.02.2012 в 16:47)
| | действительно, зачем грузить файлы, если сама статья не загружена?
у самих логики не хватает, а потом будут PHP/AJAX/что-то еще ругать
и искать решение надуманной проблемы. создал статью - крепи файлы.
удалил статью - удалил файлы. не сохранил статью - и файлы сохранять
не надо. прикрепил ненужные - удали (до сохранения статьи).
если у пользователя нет возможности редактировать/удалять то, что он
загрузил - надо его об этом предупредить, пусть будет внимательнее. | |
|
|
|
|
|
|
|
для: NW
(14.02.2012 в 16:47)
| | >Не загружать файлы до создания статьи.
Фичу очень хочет заказчик :) Это не моя затея. Я бы тоже сделал при редактировании или даже отдельным интерфейсом. | |
|
|
|
|
|
|
|
для: antf
(14.02.2012 в 17:27)
| | если вы файлы сохраняете раньше, чем статью, как вы потом делаете привязку их статье? как узнать, что эти файлы именно к этой статье относятся? разве не надо для начала узнать id новой статьи? | |
|
|
|
|
|
|
|
для: elenaki
(14.02.2012 в 19:17)
| | >разве не надо для начала узнать id новой статьи?
логично))) | |
|
|
|
|
|
|
|
для: elenaki
(14.02.2012 в 19:17)
| | Сохраню имена загруженных файлов в сессии и воспользуюсь ими добавлении самой статьи.
Мы тоже самое говорим, а нам говорят: "А вот на мейл.ру файлы еще до отправки письма можно загрузить. Сделайте также." | |
|
|
|
|
|
|
|
для: antf
(14.02.2012 в 19:50)
| | тогда наверно предложенный Вами метод в первом посте все таки самый логичный. Кстати как вариант сделать мнимую загрузку для ваших заказчиков, т.е. типа файл загружен (какую нить панельку с индикатором загрузки прикрутить, по типу мейловской), а по факту загружать только после отправки формы. проверить это заказчик не сможет. ну так наверно... и волки сыты и овцы целы :-) | |
|
|
|
|
|
|
|
для: NW
(14.02.2012 в 20:21)
| | Хотя для пользователей это удобно. Статья добавляется только один раз. Не надо ее снова искать после добавления, чтобы прикрепить файлы. | |
|
|
|
|
|
|
|
для: antf
(14.02.2012 в 19:50)
| | не факт, что они на самом деле грузятся. нам показывают, что грузят. а что там на самом деле - ХЗ. сделайте также - покажите мультик об успешной загрузке файлов. | |
|
|
|
|
|
|
|
для: elenaki
(14.02.2012 в 21:47)
| | Но потом-то эти файлы отправляются.
PS Анимированный индикатор не нужен. | |
|
|
|
|
|
|
|
для: antf
(14.02.2012 в 22:02)
| | а что делается с файлами, если вы письмо так и не отправили?
откуда вы можете знать их судьбу? | |
|
|
|
|
|
|
|
для: elenaki
(14.02.2012 в 22:20)
| | >откуда вы можете знать их судьбу?
Судьбы не знаю.
>ХЗ. сделайте также - покажите мультик об успешной загрузке файлов.
А зачем обманывать пользователя? Файлы должны быть добавлены одновременно со статьей. | |
|
|
|
|
|
|
|
для: antf
(14.02.2012 в 15:03)
| | Все остальные решения хуже и менее стабильные. Если это реализовано, лучше на этом методе и остановиться. | |
|
|
|