Что у меня есть:
Я использую 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 на статическое значение, он отлично работает.
Что еще может получить ответ на вопрос
Я отвечу на ваш вопрос в качестве ответа, если вы предложите хороший плагин multiupload (с кратким описанием), который легко интегрировать с php cake, и будет настраиваться, поэтому каждый объект в базе данных может иметь свою собственную папку.
Пожалуйста, подумайте о своем ответе, любое решение этой проблемы поможет.