Uploadify и Codeigniter Framework - PullRequest
       27

Uploadify и Codeigniter Framework

0 голосов
/ 28 ноября 2011

У меня проблема с 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";

предполагают, что username => 'myuser' и 'folder' => 'myfolder'

, поэтому $_REQUEST['folder'] будетbe myuser/pro/user/pages/myfolder/images/background

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

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

1 Ответ

0 голосов
/ 28 ноября 2011

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

...