함수설명 :
readfile 함수는 파일을 읽은 후, 출력을 합니다.
반환값 :
이 함수는 성공하거나 실패할 경우에 읽은 바이트 수를 반환합니다.
기타 :
함수 이름앞에 @를 붙이면, 출력 오류를 숨길 수 있습니다.
정의 :
readfile(filename)
filename : 파일의 이름을 입력받습니다.
<?php
$file = '/usr/share/apache2/icons/ubuntu-logo.png';
if( !file_exists($file) ) {
echo "파일이 없습니다.";
exit;
}
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.basename($file).'"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
readfile($file);
이 함수를 실행하면,
해당 파일의 내용이 모두 웹 브라우저에 출력된다.
특정 파일의 내용을 출력할 때 사용할 수 있지만, 실제로는 해당 파일의 다운로드를 구현하기 위해 많이 사용된다.
일반적으로는, 파일의 링크를 연결해두고 클릭하면 다운로드 창이 뜨게 되지만, txt문서나 이미지 파일의 경우 웹 브라우저에서 지원하는 형식의 파일이면 파일 다운로드 창이 뜨지 않고 웹 브라우저에 바로 보여지게 된다.
이처럼 웹 브라우저에서 보이는 것을 방지하고 파일 다운로드 창이 뜨도록 하려면 파일의 형식을 속여야 한다.
출처 :
'Web Programming Language > PHP' 카테고리의 다른 글
PHP) basename() 함수 - 파일 이름 반환 (0) | 2021.07.01 |
---|---|
PHP) HTTP Response Header - Content-Disposition 속성 (0) | 2021.01.15 |
PHP) HTTP Header - MIME-Type, Content-Type (0) | 2021.01.14 |
PHP) shell_exec() 함수 (0) | 2020.11.05 |
PHP) system() 함수 (0) | 2020.11.05 |
댓글