Я использую Jquery Uploadify для загрузки изображений с помощью PHP, здесь я хочу загрузить несколько изображений в разные папки, т.е. первое изображение будет загружено в «папку 1», второе изображение загружено в «папку 2», и все эти загрузки должны выполняться одним экземпляром uploadify . Можно или нет??
Загрузка изображений Jquery Uplaodify в разные папки
Ответы (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
yes.i пытался таким же образом, но значение переменной сеанса не меняется между вызовами upload.php. При первом вызове изображения я устанавливаю одну переменную сеанса, а при втором вызове загрузки изображения увеличиваю значение этой переменной сеанса, но каким-то образом переменная сеанса не изменяется, т.е. не увеличивается.
- person EternalSunShine; 21.07.2010
@tosha, возможно, сеанс неправильно инициализирован, что может произойти с этими загрузчиками на основе Flash. Возможно, вам также придется передать идентификатор сеанса в
scriptData
.
- person Pekka; 21.07.2010
я также пробовал с глобальными переменными, но значение вообще не увеличивается... сначала я присвоил 1 глобальной переменной, а после этого увеличивал значение глобальной переменной при каждой загрузке изображения... но значение не увеличивается. если ($first_time ›= 0) { $first_time++ ; } если (пусто($first_time)) { global $first_time; $first_time = 1 ; } $returnname = $returnname.'%%'.$first_time ;
- person EternalSunShine; 21.07.2010
Глобальные переменные @tosha здесь вам не помогут. Как я уже сказал, вам нужно проверить, правильно ли инициализирован сеанс, и, возможно, вам нужно будет отправить идентификатор сеанса. См. stackoverflow.com/questions/2522623/.
- person Pekka; 21.07.2010