Трудно сказать, в чем ваша проблема. Но каким бы ни был ваш сервер или файловая система, это не имеет ничего общего с временностью массива $ _FILES.
Когда вы получите событие DND, и YUI впоследствии отправит файл, вы получите некоторые данные либо в $ _FILES, либо в $ _POST. Если это так, просто используйте move_uploaded_file
или file_put_contents
и сохраните его в другом месте .
Присвойте этому перемещенному файлу хэш md5()
в качестве имени и верните его в качестве идентификатора файла для вашего запроса загрузки AJAX-DND.
Затем вы можете использовать этот хэш-идентификатор в своем коде Javascript и обратиться к уже загруженному файлу изображения по этой ссылке. Если ваше приложение инициирует нормальный запрос формы после перетаскивания, вы просто включаете собранные идентификаторы ссылок на изображения. И, таким образом, ваш код на стороне сервера может связать его снова.
Вы даже можете восстановить массив $ _FILES, если хотите:
foreach ((array)$_POST["prev_image_ids"] as $md5) {
$md5 = basename($md5);
$_FILES["image"][] = array(
"tmp_name" => $fn="./already-uploaded/$md5",
"size" => filesize($fn), "type"=>"image/whatever",
"name" => "unknown.jpg", "error"=>UPLOAD_ERR_OK,
); // you could store away those original attributes too
}