последний раз, на пальцах
agat 10.07.2007 18:46
итак, на сайт используется правило мод_рирайта - все несуществующие страницы передать в файл process.html.
рассмотрим пример со строкой запроса /ru/admin/items/.
Такой страницы на сайте нет, но есть /admin/items/. На этой странице идет работа с товарами - редактирование, удаление, добавление.
Теперь - админ выбрал товар, хочет добавить к нему картинку. Жмет "редактировать", открывается форма, он выбирает картинку, жмет "сохранить изменения". Данные формы отсылаются в /ru/admin/items/. Этой страницы нет, Апач редиректит запрос в process.html. Тут мы смотрим, что у нас определен язык=русский (/ru/), и мы должны передать запрос со всеми(!) передаными данными в существующую /admin/items/. И тут мы получаем огромный фак, т.к. поля типа файл редиректнуть не получится.
Для этого в process.html все поля типа файл я сохраняю в отдельном месте на серваке, а в качестве значения поля передаю название файла (генерится уникальное), под которым было сохранено значение поля, пришедшего о админа (юзера). Все поля которые не_файл - передаю в строке запроса GET-ом в /admin/items/. На странице /admin/items/ я заведомо знаю имена полей, через которые должны быть переданы файлы, и проверяю их значение - если они файл - продолжаю работу с ними, если они вдруг стринг - то я пробую достать файлы из временного хранилища, куда я их сохранил в process.html, по имени, которое передано в значении поля.
Доходчиво? Задача и условия понятны? Если вы знаете альтернативу - подскажите - буду только благодарен.