Покинул форум
Сообщений всего: 199
Дата рег-ции: Май 2011
Помог: 0 раз(а)
Наверное, не трудный вопрос. Но не могу никак словить. Помогите, плис.
Использую ajaxupload.3.5.js. Все классно, все получается и всем управляю. В чем трудность возникла:
1. Нажимаем Кнопку Upload File
2. Выбираем файл
3. Передается все через ajax в php модуль
4. PHP-модуль: загрузка файла, проверка на ошибки, возврат результата - или номера ошибки или имени файла (записывается файл под новым именем)
5. Отображение или ошибки, или превью загруженного файла
6. Запись имени файла в value input hidden, для передачи потом POST form
Все 6 шагов работают суперски!
Не получается новое имя файла присвоить какой-то переменной, которую бы я при очередном вызове функции ajax отправляла бы в php модуль (чтоб удалить предыдущий файл, когда решили загрузить новый)
Не получается именно присвоить. Потому что когда я приравниваю какуюнить константу, то в php модуль все передается и я ее вижу. Мне надо nameoldfile приравнять только что полученному ответу response
Т.е. вот эта переменая nameoldfile никак не хочет принимать нужное мне значение. Я, думаю, что мое не важное знание JS не дает мне правильно решить эту задачу. Помогите, добрые и умные люди, плис!
Покинул форум
Сообщений всего: 199
Дата рег-ции: Май 2011
Помог: 0 раз(а)
не, никак не получается. Может я не так пытаюсь это сделать. Но суть в том, что мне надо передать имя предыдущего загруженного через ajax файла, чтоб я в php могла бы его delete перед загрузкой следующего....
natariga
Отправлено: 16 Августа, 2011 - 08:09:35
Частый гость
Покинул форум
Сообщений всего: 199
Дата рег-ции: Май 2011
Помог: 0 раз(а)
Читаю, читаю инет и нигде не вижу ответа. А как удаляют файлы (картинки) при обновлении (загрузки) других....
Может я, вообще, не тем путем иду...
Задача:
Клиент выбирает файл - ему превьюха (через ajax), не нравится - он выбирает другой, ему опять превьюха.
А на стороне сервера - загрузился первый файл, ему присвоилось уникальное имя и передалось в форму клиенту. При выборе другого файла - удаляется предыдущий, грузится новый, присваивается уникальное имя, передается в форму клиенту....
Viper
Отправлено: 16 Августа, 2011 - 09:04:20
Активный участник
Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007 Откуда: Симферополь
Помог: 98 раз(а)
natariga ну так а что мешает отдавать обратно json'ом имя предыдущего файла и тулить его имя в скрытую форму или в сессию(безопаснее)?
а не может быть такого, что в этом плагине чтото с доп.данными для передачи. Потому что я добавила еще один функционал. Когда загрузили превью, добавляется кнопка - Удалить. И по ее нажатию в другой функции ajax-php точно таким же способом выбирается имя из input и спокойненько передается на сервер. Все работает, все передается...
Viper
Отправлено: 16 Августа, 2011 - 09:50:05
Активный участник
Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007 Откуда: Симферополь
Помог: 98 раз(а)
natariga document.ExpertRegistr.TempName_ FilePhoto.value = response; зачем так?
можно проще
Я бы предложил вам перевести ответ сервера в json-формат.
т.е. схема такая.
при отсылке данных в php-скрипт проверяем не пустое ли скрытое поле, если да, то просто загружаем данные и отвечаем скрипту обратно
Покинул форум
Сообщений всего: 199
Дата рег-ции: Май 2011
Помог: 0 раз(а)
Viper пишет:
Я бы предложил вам перевести ответ сервера в json-формат.
да, Ваш ответ понятен, и, конечно, все изящнее смотрится, но у меня другая проблема. Я не могу в php передать имя файла. Она почему-то не передается из этой скрытой переменной!!!!!
Т.е. не отрабатывает вот этот кусок!
выскакивает поп-апокно и результат потом не в броузер идет, а в нотепад. Но даже пока не про то вопрос. Почему имя файла не передается из скрипта в пхп....
SAD
Отправлено: 16 Августа, 2011 - 10:30:58
Постоянный участник
Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009 Откуда: Днепропетровск, Украина
Помог: 75 раз(а)
вы уверены, что имя приходит из php в js? (Добавление)
есть где потестить? (Добавление)
вот так нужно header('Content-type: text/json');
Покинул форум
Сообщений всего: 199
Дата рег-ции: Май 2011
Помог: 0 раз(а)
Выкладываю полные тексты, чтоб не кусочками, а картинка вся складывалась. Помогите умные умные добровольцы помошники, пожайлуста. Просто уже горестно,от чего не срабатывает!
Итак.
это не самый лучший uploader, который вы нашли
и если грузится одно фото, то можно из без него обойтись - обычными стандартными методами загрузки фото, правда без сабмита формы
natariga
Отправлено: 16 Августа, 2011 - 11:12:58
Частый гость
Покинул форум
Сообщений всего: 199
Дата рег-ции: Май 2011
Помог: 0 раз(а)
субмит нужен, потому что это лишь одно из многих полей, да еще и несколько шаговой регистрации.
и все же работает и делает так, как мне надо, я всем могу управлять, кроме удаления предыдущего файла.
Хорошо, готова на другой uploader глянуть. Только уже теряюсь. Потому чтоэто мне показался самым доступным и лаконичным.
Не подскажите тогда какой лучше?
SAD
Отправлено: 16 Августа, 2011 - 11:32:34
Постоянный участник
Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009 Откуда: Днепропетровск, Украина
Помог: 75 раз(а)
лучше делать загрузку фото отдельным действием, и давать загруженному файлу одно и тоже имя.
привожу пример. загрузили фото стандартным способом, задали ему имя, например, 1111.
пользователь смотрит, ага, фотка плохая, опять загружает файл, даете ему имя 1111, и скрипт заменит предыдущий файл - удалять не нужно.
natariga
Отправлено: 16 Августа, 2011 - 11:47:36
Частый гость
Покинул форум
Сообщений всего: 199
Дата рег-ции: Май 2011
Помог: 0 раз(а)
SAD пишет:
загрузили фото стандартным способом
Что такое стандартным способом? Мне ведь надо без перерисовки экрана. Потому ajax.
Я не против давать одно и тоже имя. Яготова под ним все время записывать и ничего в результате не удалять.
Проблема одна и та же!
Как мне в этом скрипте передать в php тоже имя, которое было накануне из него же и прочитано.
Отличная идея, я, действительно, под этим же именем бы и дальше записывала картинки. Только как мне его в php получить........
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.