Загрузка изображений Jquery Uplaodify в разные папки

Я использую Jquery Uploadify для загрузки изображений с помощью PHP, здесь я хочу загрузить несколько изображений в разные папки, т.е. первое изображение будет загружено в «папку 1», второе изображение загружено в «папку 2», и все эти загрузки должны выполняться одним экземпляром uploadify . Можно или нет??


person EternalSunShine    schedule 21.07.2010    source источник


Ответы (1)


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

Я бы рассмотрел возможность передачи случайного ключа в сценарий загрузки с использованием параметра scriptData:

queueID: 'A10C923302132048AVB'

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

$queueID = $_POST["queueID"];

if (isset($_SESSION[$queueID]))
 {
   $imageNumber = $_SESSION[$queueID];
   $_SESSION[$queueID]++;
 }
 else
 {
   $imageNumber = 1;
   $_SESSION[$queueID] = imageNumber;
 }

$imageNumber будет содержать номер загруженного изображения, и вы сможете move_uploaded_file() загрузить его в нужное место.

person Pekka    schedule 21.07.2010
comment
yes.i пытался таким же образом, но значение переменной сеанса не меняется между вызовами upload.php. При первом вызове изображения я устанавливаю одну переменную сеанса, а при втором вызове загрузки изображения увеличиваю значение этой переменной сеанса, но каким-то образом переменная сеанса не изменяется, т.е. не увеличивается. - person EternalSunShine; 21.07.2010
comment
@tosha, возможно, сеанс неправильно инициализирован, что может произойти с этими загрузчиками на основе Flash. Возможно, вам также придется передать идентификатор сеанса в scriptData. - person Pekka; 21.07.2010
comment
я также пробовал с глобальными переменными, но значение вообще не увеличивается... сначала я присвоил 1 глобальной переменной, а после этого увеличивал значение глобальной переменной при каждой загрузке изображения... но значение не увеличивается. если ($first_time ›= 0) { $first_time++ ; } если (пусто($first_time)) { global $first_time; $first_time = 1 ; } $returnname = $returnname.'%%'.$first_time ; - person EternalSunShine; 21.07.2010
comment
Глобальные переменные @tosha здесь вам не помогут. Как я уже сказал, вам нужно проверить, правильно ли инициализирован сеанс, и, возможно, вам нужно будет отправить идентификатор сеанса. См. stackoverflow.com/questions/2522623/. - person Pekka; 21.07.2010