사이트 내 전체검색
PHP
[php] 파일처리 관련 함수
로빈아빠
https://cmd.kr/php/461 URL이 복사되었습니다.

본문

파일처리 관련 함수

fopen 지정한 파일을 연다.
fclose fopen()으로 연 파일을 닫는다.
fread 파일에서 특정수만큼 읽어서 문자열로 반환한다.
fwrite 파일에서 byte만큼 기록한다.
feof 파일 포인터의 위치를 검사(끝임을 확인)
fgets 지정한 파일에서 개행 문자나 EOF를 만나기 전까지 특정문자를 읽어 들여 버퍼에 기록한다.
fputs fread와 똑깥은 함수
fpassthru 파일 포인터가 가르키는 현재의 위치에서 파일의 끝까지 읽어 들여 보준 출력장치로 보낸다.
readfile 파일을 읽어 들여 표준 출력 장치에 출력한다.
fgetc 파일로부터 한문자를 읽어 들인다.
filesize 파일의 크기를 bytes수로 반환한다.
file_exits 파일이 존재유무를 검사함
is_file 파일이 정상적인 파일인지를 검사한다.
is_dir 디렉토리 인지를 검사한다.
is_link 심볼릭 링크인지를 검사한다.
is_executable 실행 가능한 파일인지를 검사한다.
is_readable 읽기가능하지를 검사한다.
is_writeable 쓰기가능한지를 검사한다.
copy 파일을 복사한다.
rename 파일 이름을 바꾼다.
unlink 파일을 삭제한다.
mkdir 디렉토리를 생성한다.
rmdir 디렉토리를 삭제한다.
basename 파일에대한 경로명중 확장자 포함 결로명을 반환한다.
dirname 파일에 대한 경로명중 디렉토리 명만을 반환한다.
file 파일의 내용을 읽어 배열로 반환한다.

fopen(php3)를 사용한 파일 열기
<? 
$fp = fopen("/list.data","w"); // 현재 디렉토리에서 화일을 읽음 없으면 만듬 w로 파일을 열면 파일 내용이 삭제됨 a로 파일 열기"w" 

if(!$fp) { // 만약 파일이 없으면 error문구 출력 
echo ("Failde to open the file"); 
}else { 
echo("Sucessfully opened the file!"); // 화일이 있으면 출력 여기서는 무조건 "w"때문에 생성하므로 
} 
fclose($fp); // open한 화일 닫기 
?>


fread(php3)를 사용한 파일 읽어오기
<? 
$fp = fopen("c:apachehtdocslist.data","r") // 윈도우용 화일입니다. 물론 리눅스에서는 변경해야 합니다. 
if (!$fp) { //미리 list.data화일을 만들어야 겠죠.
echo("화일이 없어요...!<br>"); // 화일을 만들었습니다. 
} 

$str = fread($fp,20); // 화일을 읽어 들입니다. 12자만 
echo ("$str<br><br>"); // 출력하고 

fclose($fp); // 화일을 닫아야 error이 없습니다. 
?> 


fwrite(php3)를 사용한 파일에 문자 추가하기
<? 
$fp = fopen("c:/apache/htdocs/list.data","a+"); 
if(!$fp) { 
echo ("Failed to open the file"); 
} 

$str = "안녕하세요..!"; 
fwrite($fp,$str); // $fp화일에 $str첨가 "a+"뒷부분에 추가 
fclose($fp); // "w"로하면 앞에 추가 하겠죠... 
?> 


feof(php3)화일의 eof를 만나기 전까지 지정한 만큼의 데이터를 읽어 온다.
<? 
$fp = fopen("c:/apache/htdocs/list.data","r"); 

if(!$fp) { 
echo ("Failed to open the file"); 
} 

while(!feof($fp)) { // feof 화일의 끝이 아니면 
$line = fgets($fp,10000); // 9,999Byte를 읽어 들인다.( 다 읽어 들인다 ) 
echo("$line<br>"); 
} 

fclose($fp); 
?> 


readfile(php3)화일을 읽고 그대로 출력 그리고 파일의 크기를(Byte)를 표시함
<? 
$fp = readfile("c:/apache/htdocs/list.data"); // 파일을 읽고 출력 
echo("<br><br> total size : $fp Byte"); // 파일 크기를 표시 
?>


getc(php3)를 이용한 파일 읽기
<? 
$fp = fopen("c:/apache/htdocs/list.data","r"); 

if(!$fp) { 
echo("Failed to open the file"); 
} 

while(!feof($fp)) { // 파일을 끝까지 읽기 
$chr = fgetc($fp); 
if(!strcmp($chr,"n")) { // 개행문자 처리부분 
$chr .="<br>"; // 개행문자를 <br>로 대체 
} 
$line .=$chr; 
} 

echo ("$line"); 
fclose($fp); 
?> 


filesize 함수
(파일 크기를 Byte수로 변환)
file_exists 함수
(filename으로 전해준 이름이 존재하는지 검사하여 존재하면 true,
존재하지 않으면 false를 반환한다.)
is_file
(filename으로 전해준 이름이 정상적인 파일일 경우 true를 반환한다.)
is_dir
(filename으로 전해준 이름이 디렉토리일 경우 true를 반환한다.)
is_link함수
(filename으로 전해준 이름이 symbolic link일 경우 true를 반환한다.)
is_executable 함수
(filename으로 전해준 이름이 실행 가능한 파일일 경우 true를 반환한다.)
is_readable 함수
(filename으로 전해준 이름이 읽기 가능한 파일일 경우 true를 반환한다.)
is_writeable 함수
(filename으로 전해준 이름이 쓰기 가능한 파일일 경우 true를 반환한다.)

위 내용 한꺼번에 확인하기
<? 
$filename = "c:apachehtdocslist.data"; 

if(!file_exists($filename)) { 
echo("${filename} 파일이 존재하지 않습니다.<br>"); 
exit; 
} 

if(!is_file($filename)) { 
echo("${filename} 은 파일이 아닙니다.<br>"); 
exit; 
} 

if(!is_dir($filename)) { 
echo("${filename} 은 디렉토리가 아닙니다.<br>"); 
exit; 
} 

if(!is_link($filename)) { 
echo("${filename} 은 심볼릭 링크가 아닙니다.<br>"); 
exit; 
} 

if(!is_readable($filename)) { 
echo("${filename} 은 읽을수 없는 파일입니다.<br>"); 
exit; 
} 

if(!is_writeable($filename)) { 
echo("${filename} 은 쓰기불가능한 파일입니다.<br>"); 
exit; 
} 

if(!is_executable($filename)) { 
echo("${filename} 은 실행 불가능한 파일입니다.<br>"); 
exit; 
} 
?>


copy(php3)를 이용한 파일 복사
<? 
$src = "c:apachehtdocslist.data"; 

if(!copy($src,"c:apachehtdocslistbackup.data")) { 
echo("Failed to copy $src file"); 
exit; 
} 
?>

디렉토리 확인하면 파일이 하나 생겼을 겁니다. listbackup.data

rename(php3)를 이용한 파일 이름 바꾸기
<? 
$src = "c:apachehtdocslistbackup.data"; 

if(!rename($src,"c:apachehtdocslist2.data")) { 
echo ("Failed to rename $src file"); 
exit; 
} 
?>


디렉토리 확인하면 파일이름이 list2.data로 바뀌어 있죠...
unlink(php3)를 이용한 파일 삭제하기
시행하시면 Error이 발생하시는 분들은 위에 다음을 차례로 실행하세요..
copy(php3)를 이용한 파일 복사
rename(php3)를 이용한 파일 이름 바꾸기
unlink(php3)를 이용한 파일 삭제하기

<? 
$src = "c:apachehtdocslist2.data"; 

if(!file_exists($src)) { // 파일이 존제하는가 검사 
echo("$src file does not exit!"); 
exit; 
} 

if(!unlink($src)) { // 파일 삭제 
echo("Failed to delete $src file"); 
exit; 
} 

echo(" $src 파일이 삭제되었습니다.."); 
?>


mkdirrmdir(php3) mkdir과 rmdir을 사용해서 디렉토리 생성 삭제합니다.
<? 
$dir = "c:apachehtdocsimsi"; 

if(!mkdir($dir,0755)) { // 퍼미션 755를 꼭주세요.. Error발생합니다. 
echo("디렉토리를 만들지 못했습니다."); 
exit; 
} 

echo("디렉토리 $dir이 생성되었음<br>"); 

if(!rmdir($dir)) { 
echo("디렉토리를 삭제하지 못했습니다"); 
exit; 
} 

echo("디렉토리 $dir을 삭제 했습니다."); 
?>


basename와 dirname함수를 이용한 경로명과 인자값 출력하기
<? 
$path = "c:apachehtdocslist.data"; 
$base = basename($path); // 인자값 출력 
echo("$base<br>"); 

$dir = dirname($path); 
echo($dir); // 경로명 출력 
?>


file(php3) 파일을 줄단위로 읽어서 문자열을 배열 원소로 반환합니다.
<? 
$filename = "c:apachehtdocslist.data"; 
$line = file($filename); 

while(list($key,$val) = each($line)) { 
echo("$val<br>"); 
} 
?>


=======================================

basename -- 경로명에서 파일이름만 반환합니다
chgrp -- 파일의 그룹을 변환합니다
chmod -- 파일의 모드 변경
chown -- 파일의 소유자 변경
clearstatcache -- 파일의 통계(stat) 캐시를 삭제합니다.
copy -- 파일을 복사합니다
delete -- 실제로는 없는 명령
dirname -- 경로의 구성요소중에서 디렉토리 이름만 반환합니다.
disk_free_space -- Returns available space in directory
disk_total_space -- Returns the total size of a directory
diskfreespace -- 디렉토리의 사용가능한 공간을 반환합니다.
fclose -- 열려있는 파일 포인터를 닫습니다.
feof -- 파일의 끝이 파일포인터에 있는지 테스트합니다.
fflush -- 출력결과를 파일로 보냅니다.
fgetc -- 파일포인터로부터 문자 가져오기
fgetcsv -- 파일포인터에서 라인을 가져오고 CVS 에 맞게 변환합니다.
fgets -- 파일 포인터에서 라인 가져오기
fgetss -- 파일포인터에서 라인을 가져오고 HTML 태그를 없애기
file_exists -- 파일이 있는지 체크
file_get_contents -- Reads entire file into a string
file_put_contents -- Write a string to a file
file -- 파일전체를 배열로 읽어들임
fileatime -- 최근에 파일에 접근한 시간을 가져옴
filectime -- 파일의 아이노드 변경시간을 가져옵니다
filegroup -- 파일의 그룹을 가져옵니다
fileinode -- 파일의 아이노드를 가져옵니다
filemtime -- 파일이 수정된 시간을 가져옵니다
fileowner -- 파일의 소유자를 가져옵니다
fileperms -- 파일의 권한을 가져옵니다
filesize -- 파일의 크기를 가져옵니다
filetype -- 파일의 형식을 가져옵니다
flock -- 파일 잠김에 관한 간단한 도움말
fnmatch -- Match filename against a pattern
fopen -- 파일이나 URL을 엽니다
fpassthru -- 파일 포인터에 남아있는 모든 데이타를 출력합니다
fputs -- 파일 포인터에 기록하기
fread -- Binary-safe 파일 읽기
fscanf -- 형식에 따라서 파일로 부터 분석하여 입력하기
fseek -- 파일 포인터에서 찾기
fstat -- 오픈 파일 포인터를 사용하는 파일에 대한 정보 가져오기
ftell -- 파일포인터의 읽기/쓰기 위치 말하기
ftruncate -- 주어진 길이로 잘라내기
fwrite -- Binary-safe 파일 쓰기
glob -- Find pathnames matching a pattern
is_dir -- filename 이 디렉토리인지 아닌지 이야기하기
is_executable -- filename이 실행가능한 것인지 아닌지 이야기하기
is_file -- filename이 보통 파일인지 아닌지 이야기하기
is_link -- filename이 심볼릭 링크인지 아닌지 이야기하기
is_readable -- filename이 읽기 가능한 것인지 아닌지 이야기하기
is_uploaded_file -- file이 HTTP POST를 통해 업로드된 것인지 아닌지 이야기하기
is_writable -- filename이 쓰기가능한 것인지 아닌지 이야기하기
is_writeable -- Alias of is_writable()
link -- hard link 만들기
linkinfo -- 링크 정보 가져오기
lstat -- 파일이나 심볼릭 링크에 관한 정보를 제공
mkdir -- 디렉토리 만들기
move_uploaded_file -- 업로드된 파일을 다른곳으로 이동하기
parse_ini_file -- Parse a configuration file
pathinfo -- Returns information about a file path
pclose -- 진행되는 파일 포인터 닫기
popen -- 진행되는 파일 포인터를 열기
readfile -- 파일을 출력합니다
readlink -- symbolic link의 target 반환
realpath -- 표준화된 절대 경로명을 반환합니다
rename -- 파일을 새 이름으로 고치기
rewind -- 파일포인터의 위치를 되돌립니다(rewind).
rmdir -- 디렉토리 제거하기
set_file_buffer -- 주어진 파일 포인터에 파일 버퍼링 설정하기
stat -- file에 대한 정보 제공
symlink -- 심볼릭 링크 만들기
tempnam -- 유일한 파일 이름 만들기
tmpfile -- 임시 파일 만들기
touch -- 파일의 수정시간을 설정합니다
umask -- 현재의 umask를 변경하기
unlink -- 파일을 삭제하기

댓글목록

등록된 댓글이 없습니다.

PHP
871 (7/18P)

Search

Copyright © Cmd 명령어 18.191.103.117