Платформа Uploadify и Codeigniter

У меня проблема с uploadify (http://www.uploadify.com/) и фреймворком Codeigniter (http://codeigniter.com).

Пожалуйста, проверьте раздел Контроллер:

function uploadFile()
    {
    require_once('class.upload.php');
if (!empty($_FILES)) {
         $uc = $this->session->userdata('username');
         //$_REQUEST['folder'] = "/pro/user/Dileepmt/pages/".$_REQUEST['folder']."/images/background";
         $_REQUEST['folder'] = $uc."/pro/user/".$uc."/pages".$_REQUEST['folder']."/images/background";
        $targetPath = $_SERVER['DOCUMENT_ROOT'] .$_REQUEST['folder']. '/';
        $pic_temp = random_string('alnum',10);

        $handle = new Upload($_FILES['Filedata']);
            if ($handle->uploaded) {
                $handle->file_src_name_body      = $pic_temp; // hard name
                $handle->file_overwrite          = true;
                $handle->file_auto_rename        = false;
                $handle->image_resize            = true;
                $handle->image_ratio_y           = true;
                $handle->image_x                 = ($handle->image_src_x < 400)?$handle->image_src_x:400;
                $handle->file_max_size           = '819200'; // max size
                $handle->Process($targetPath);
                $handle->clean(); 
                if ($handle->processed)
                    $json = array("result"      => 1, 
                                  "file"        => $_REQUEST['folder'].'/'.$handle->file_dst_name.'?'.time(),
                                  "imagewidth"  => $handle->image_dst_x,
                                  "imageheight" => $handle->image_dst_y
                                 );
                else
                    $json = array("result" => 0);

                $encoded = json_encode($json);
                echo $encoded;
                unset($encoded);    
            } 
            else { 
                $json = array("result" => 0);
                $encoded = json_encode($json);
                echo $encoded;
                unset($encoded);
            }
}


    }

У Uploadify так много проблем, но здесь мне не удается получить данные сеанса с помощью библиотеки сеансов Codeigniter.

$uc = $this->session->userdata('username');

 $_REQUEST['folder'] = $uc."/pro/user/pages".$_REQUEST['folder']."/images/background";

предположим, что имя пользователя = > 'myuser' и 'folder' = > 'myfolder'

так что $_REQUEST['folder'] будет myuser/pro/user/pages/myfolder/images/background

Но результат /pro/user/pages/myfolder/images/background

Я проверил, что нет проблем с сеансом Codeigniter, я могу установить или получить данные с помощью библиотеки сеансов.


person Red    schedule 28.11.2011    source источник


Ответы (1)


Uploadify использует Flash. Flash отделен от вашего браузера и не отправляет идентификатор сеанса или файл cookie. Вы можете использовать атрибут uploadify 'scriptData' для отправки идентификатора сеанса или чего-то еще. Я генерирую идентификатор загрузки в форме html и отправляю его в uploadify. После отправки формулы я собираю файлы из каталога загрузки и подключаю их к сеансу.

person PiTheNumber    schedule 28.11.2011
comment
я хочу установить параметр FOLDER, это зависит от данных сеанса. Я думаю, что очень легко изменить scriptData. Путь к папке похож на /host/username/pages/images/background/file.ext - person Red; 28.11.2011