WEB언어/CodeIgniter

CodeIgniter file delete와 download

saltdoll 2018. 3. 9. 02:23
반응형

CodeIgniter에서 파일을 삭제할때 사용되는 것은 File Helper입니다.




File Helper 메뉴얼

https://codeigniter.com/user_guide/helpers/file_helper.html (영어)

http://www.ciboard.co.kr/user_guide/kr/helpers/file_helper.html (한글)



[File delete 처리하기]

지정된 경로내의 모든 파일을 지웁니다.

$this->load->helper("file"); 

delete_files($path);


// 디렉토리 안에 파일들 삭제

delete_files('./path/to/directory/'); 


// 포함하고 있는 모든 디렉토리까지 삭제
delete_files('./path/to/directory/', TRUE);



php의 기본 File delete 함수로 file을 삭제

unlink($path);


delete_files($path[$del_dir = FALSE[$htdocs = FALSE]])

인수:
  • $path (string) – Directory path
  • $del_dir (bool) – Whether to also delete directories
  • $htdocs (bool) – Whether to skip deleting .htaccess and index page files
반환값:

TRUE on success, FALSE in case of an error

반환형:

bool


Note

경로는 메인 index.php 파일로부터의 상대경로이며, 컨트롤러나 뷰 파일로부터의 상대경로는 아닙니다. CodeIgniter 는 프론트 컨트롤러를 사용하므로, 경로는 항상 메인 사이트 인덱스로부터의 상대경로입니다.



참고: 

https://stackoverflow.com/questions/9747897/deleting-a-file-using-php-codeigniter

https://codeigniter.com/user_guide/helpers/file_helper.html  -- delete_file() 함수 메뉴얼 (영문)

http://www.ciboard.co.kr/user_guide/kr/helpers/file_helper.html -- delete_file() 함수 메뉴얼 (한글)






[File download 처리하기]

$this->load->helper('download');

// 서버에서 기존 파일 다운로드 할때. // Contents of photo.jpg will be automatically read force_download('/path/to/photo.jpg', NULL);


force_download([$filename = ''[$data = ''[$set_mime = FALSE]]])

인수:
  • $filename (string) – Filename
  • $data (mixed) – File contents
  • $set_mime (bool) – Whether to try to send the actual MIME type
반환형:

void



[Javascript로 파일 다운로드]

 <iframe id="my_iframe" style="display:none;"></iframe>

<script>
function Download(url) {
    document.getElementById('my_iframe').src = url;
};
</script>


If you only want to open it in a new tab, the only way to do this is for the user to a click on a link with its target attribute set to _blank.


In JQuery

 $('a#someID').attr({target: '_blank',

                    href  : 'http://localhost/directory/file.pdf'});




참고: 

[PHP] 서버에 위치한 파일 또는 디렉토리 삭제, Unlink(), Rmdir()


(CodeIgniter Server file Download)

https://stackoverflow.com/questions/22892753/get-file-download-link-in-codeigniter


(Javascript를 통한 다운로드)

https://stackoverflow.com/questions/3749231/download-file-using-javascript-jquery



이미지 파일 Base64 값으로 넘겨주기

if (!function_exists('convertToBase64')) { function convertToBase64($path) { // $path = FCPATH.$path; $type = pathinfo($path, PATHINFO_EXTENSION); $data = file_get_contents($path); $base64 = 'data:image/' . $type . ';base64,' . base64_encode($data); return $base64; } 

} 

출처: https://www.formget.com/codeigniter-create-helper/



반응형
도움이 되셨다면 하트모양의 "♡ 공감"을 눌러주시면 큰 격려가 됩니다.
(로그인하지 않으셔도 가능)