Плагин загрузки файлов, расположенный в webroot, игнорирует динамические изменения в целевой папке

Что у меня есть:

Я использую uploadify для загрузки файлов для приложения интрасети, которое я пишу.

Мне нужно загрузить файлы в каталог, принадлежащий одному пользователю (с динамическим созданием каталогов).

Мое явно неправильное решение 🙂

После регистрации любого пользователя я создам ему папку (заголовок – user_id).

Теперь uploadify.php выглядит так:

session_name("test_tool_cookie"); session_start(); $targetFolder = '/test_tool/app/webroot/uploadify/' . $_SESSION['Auth']['User']['user_id']; //Relative to the root //the 3 lines above are my only change to the script //$targetFolder = '/test_tool/app/webroot/uploadify/tmpFile'; //this was here before my changes if (!empty($_FILES)) { $tempFile = $_FILES['Filedata']['tmp_name']; $targetPath = $_SERVER['DOCUMENT_ROOT'] . $targetFolder; $targetFile = rtrim($targetPath,'/') . '/' . $_FILES['Filedata']['name']; // Validate the file type $fileTypes = array('html' , 'docx', 'pdf', 'xls', 'xlsx', 'txt'); // File extensions $fileParts = pathinfo($_FILES['Filedata']['name']); if (in_array($fileParts['extension'],$fileTypes)) { move_uploaded_file($tempFile,$targetFile); echo '1'; } else { echo 'Invalid file type.'; } } 

ПРОБЛЕМА

  • Вышеприведенный скрипт не будет загружать файл в папку (отмечен и не будет загружать файл в другое место).

  • Если я изменяю $ targetFile на статическое значение, он отлично работает.

  • Значение Session корректно (но игнорируется)

Что еще может получить ответ на вопрос

Я отвечу на ваш вопрос в качестве ответа, если вы предложите хороший плагин multiupload (с кратким описанием), который легко интегрировать с php cake, и будет настраиваться, поэтому каждый объект в базе данных может иметь свою собственную папку.

Пожалуйста, подумайте о своем ответе, любое решение этой проблемы поможет.