제목 | 멀티파일업로드 중 퍼미션문제일까요..? | ||
---|---|---|---|
글쓴이 | 세콩 | 작성시각 | 2012/01/17 11:03:32 |
|
|||
뷰페이지에서 이미지를 3개를 동시에 업로드 하고싶었어요!! 그래서 폼에 input type file 을 3개 넣었죠.. 대략적으로.. 이런식.. <input type="file" name="cam_main_img" /> <input type="file" name="cam_thumb_img" /> <input type="file" name="pre_img" /> 컨트롤러 내용... function addCampaign() { try { // get params.. from post() $row = $this->input->post(); // 업로드에 실패하면?? if(! $this->common->multiple_upload()) { echo 'Something went wrong during upload'; } // 업로드 성공시!! else { echo 'Upload success !<br />'; echo '<pre>'; print_r($files); echo '</pre>'; } }catch(Exception $e) { echo $e->getMessage(); } } 멀티플 업로드 메서드... function multiple_upload($upload_dir = '/tmp/uploads/project/img', $config = array()) { $CI =& get_instance(); $files = array(); if(empty($config)) { $config['upload_path'] = $upload_dir; $config['allowed_types'] = 'gif|jpg|jpeg|jpe|png'; $config['max_size'] = '2048'; } $CI->load->library('upload', $config); $errors = FALSE; foreach($_FILES as $key => $value) { switch ($key){ case "cam_main_img": case "cam_thumb_img": $config['upload_path'] = $upload_dir.'/campaign'; echo $config['upload_path']; break; case "pre_img": $config['upload_path'] = $upload_dir.'/present'; echo $config['upload_path']; break; } if( ! $CI->upload->do_upload($key)) { $data['upload_message'] = $CI->upload->display_errors(); // ERR_OPEN and ERR_CLOSE are error delimiters defined in a config file $CI->load->vars($data); echo "<pre>"; print_r($data['upload_message']); echo "</pre>"; $errors = TRUE; } else { // Build a file array from all uploaded files $files[] = $CI->upload->data(); } } // There was errors, we have to delete the uploaded files if($errors) { foreach($files as $key => $file) { @unlink($file['full_path']); } } elseif(empty($files) AND empty($data['upload_message'])) { $CI->lang->load('upload'); $data['upload_message'] = $CI->lang->line('upload_no_file_selected'); $CI->load->vars($data); } else { return $files; } } 삽질하면서 중간중간 테스트하려고 코드가 들어가있는데.. 아무튼.. 결과적으로 이런 메세지가 나옵니닷.. /tmp/uploads/project/img/campaign /tmp/uploads/project/img/campaign /tmp/uploads/project/img/present Something went wrong during upload 리눅스서버 디렉토리상의 권한문제일까요?? 나름 한다고 권한설정도 해놓았는데.. 경 로 : /tmp /uploads/ project /img/ 퍼미션 : (777) (750) (750) (750) img 디렉토리 내부 : campaign(776) , present(776) 입니닷.. ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ |
|||
다음글 | $_POST 방식을 어떻게 하는거죠? (2) | ||
이전글 | 링크 경로 문제 ,, 이번엔 제대로 원인 분석을 해봐야... (5) | ||
세콩
/
2012/01/17 14:39:40 /
추천
0
하앜... 곧 자답을 쓸수있을 것같아요..... 후...............
|
세콩
/
2012/01/17 14:49:07 /
추천
0
자답입니다..
퍼미션이 776 인상태에서는 파일업로드가 안되었구 777인경우엔 정상적으로 업로드가되었어요 혹시모를 보안을 위해 악성코드실행을 막기위해서 실행권한을 빼었던것이고 파일을 쓰는거에는 지장이 없을거라생각해서 준 퍼미션인데 왜 업로드가 안되는지는 아직도 잘 모르겠습니닷 ㅠㅠ 어쨋든;; 이미지는 이제 업로드를 시키게 되었습니닷!! 자세히보니 정확히 무엇을 물어본것인지를 안적었네요... ㅎㅎ;; ps. 실행퍼미션만 빼었을뿐인데 왜 업로드가 안되었던걸까요..? 개념이 후달려.. ㅠㅠ |
라마야나
/
2012/01/18 18:54:09 /
추천
0
디렉토리는 읽기 속성외 실행 속성 까지 줘야 접근이 가능 하기 때문입니다.
|
세콩
/
2012/01/18 20:39:59 /
추천
0
아하.. 그렇군여!! 감사합니닷!! (_ _) !!
|