2011-11-28 4 views
0

uploadify (http://www.uploadify.com/) 및 Codeigniter 프레임 워크 (http://codeigniter.com)에 문제가 있습니다.Uploadify 및 Codeigniter Framework

컨트롤러 섹션을 확인하십시오 :

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'와 '폴더'=> 'MyFolder에'

그래서 $_REQUEST['folder']myuser/pro/user/pages/myfolder/images/background

이 될 것이라고 생각하지만 결과는 I가 확인 /pro/user/pages/myfolder/images/background

입니다 Codeigniter 세션에 아무런 문제가 없으므로 세션 라이브러리를 사용하여 데이터를 설정하거나 검색 할 수 있습니다.

답변

0

Uploadify는 Flash를 사용합니다. 플래시는 브라우저에서 분리되어 세션 ID 나 쿠키를 보내지 않습니다. uploadifies 'scriptData'속성을 사용하여 세션 ID 등을 보낼 수 있습니다. HTML 형식의 업로드 ID를 생성하고 업로드하여 업로드합니다. 공식 자료가 제출 된 후 업로드 디렉토리에서 파일을 수집하고 세션에 연결합니다.

+0

'FOLDER' 옵션을 설정하고 싶습니다. 세션 데이터에 의존합니다 .i'scriptData'를 변경하는 것이 매우 쉽다고 생각합니다. 폴더 경로는'/ host/username/pages/images/background/file .ext' – Red