PHP 파일 열기 닫 기 및 쓰기 동작 예제 분석
PHP 는 파일 업로드 기능 을 지원 하기 때문에 PHP 파일 에 관 한 조작 을 배 우 는 것 이 필수 적 입 니 다.이 필 기 는 PHP 파일 시스템 에 관 한 지식 을 기록 합 니 다.
파일 열기 및 닫 기
파일 처 리 는 읽 기,닫 기,재 작성 등 을 포함 합 니 다.예 를 들 어 파일 에 접근 하려 면 3 단계 가 필요 합 니 다.파일 열기,읽 기,쓰기,파일 닫 기.다른 작업 은 읽 기와 쓰기 파일 에 포함 되 거나(예 를 들 어 내용 표시,쓰기 내용 등)파일 자체 의 속성 과 관계 가 있 거나(예 를 들 어 파일 옮 겨 다 니 기,파일 이름 바 꾸 기 등).
1.파일 열기
PHP 에서 fopen()함수 로 파일 을 엽 니 다.fopen()함수 의 문법 은 다음 과 같 습 니 다.
resource fopen ( string filename, string mode [, bool use_include_path]);
4.567917.filename 은 경 로 를 포함 하 는 파일 이름 으로 상대 경로 일 수도 있 고 절대 경로 일 수도 있 습 니 다.접두사 가 없 으 면 로 컬 파일 을 열 었 음 을 표시 합 니 다 패턴 이름
설명 하 다.
r
읽 기만 하 다
읽 기 모드-읽 기,파일 포인터 가 파일 의 시작 에 있 습 니 다.
r+
읽 기와 쓰기
읽 기와 쓰기 모드―읽 기와 쓰기,파일 지침 은 파일 의 시작 에 있 습 니 다.기 존 파일 내용 의 끝 에 쓰기 전에 기 존 내용 을 덮어 씁 니 다.
w
쓰다
쓰기 모드-파일 을 쓰 고 파일 포인터 가 헤더 파일 을 가리 키 고 있 습 니 다.이 파일 이 존재 하면 모든 파일 내용 이 삭 제 됩 니 다.그렇지 않 으 면 함수 가 이 파일 을 만 듭 니 다.
w+
읽 기와 쓰기
읽 기 쓰기 모드-읽 기 쓰기,파일 포인터 가 헤더 파일 을 가리 키 고 있 습 니 다.이 파일 이 존재 하면 모든 파일 의 내용 이 삭 제 됩 니 다.그렇지 않 으 면 함수 가 이 파일 을 만 들 것 입 니 다.
x
신중하게 쓰다
쓰기 모드 에서 파일 을 열 고 파일 헤더 부터 쓰 십시오.파일 이 존재 하면 이 파일 은 열 리 지 않 습 니 다.함수 가 false 로 돌아 가면 PHP 에서 경고 가 발생 합 니 다.
x+
신중하게 쓰다
읽 기/쓰기 모드 에서 파일 을 열 고 파일 헤더 부터 씁 니 다.이 파일 이 존재 하면 이 파일 은 열 리 지 않 습 니 다.함수 가 false 로 돌아 가면 PHP 에 경고 가 발생 합 니 다.
a
추가
추가 모드 로 파일 을 엽 니 다.파일 포인터 가 끝 파일 을 가리 키 고 있 습 니 다.이 파일 에 내용 이 있 으 면 내용 말미 부터 추가 합 니 다.파일 이 존재 하지 않 으 면 함수 가 이 파일 을 만 듭 니 다.
a+
추가
추가 모드 로 파일 을 엽 니 다.파일 포인터 가 헤더 파일 을 가리 키 고 있 습 니 다.이 파일 에 내용 이 있 으 면 파일 말미 부터 추가 하거나 읽 습 니 다.파일 이 존재 하지 않 으 면 함수 가 이 파일 을 만 듭 니 다.
b
2 진법
이 진 모드-다른 모드 와 연결 하 는 데 사 용 됩 니 다.파일 시스템 이 바 이 너 리 파일 과 텍스트 파일 을 구분 할 수 있다 면 사용 할 수 있 습 니 다.Windows 는 구분 할 수 있 습 니 다.유 닉 스 는 구분 하지 않 는 다.이 옵션 을 사용 하면 최대한 이식 이 가능 합 니 다.기본 모드 입 니 다.
t
텍스트
다른 모델 의 결합 에 사용 합 니 다.이 모드 는 윈도 의 다음 선택 일 뿐 입 니 다.
2.파일 닫 기
파일 작업 이 끝 난 후에 이 파일 을 닫 아야 합 니 다.그렇지 않 으 면 오류 가 발생 할 수 있 습 니 다.PHP 에서 fclose()함 수 를 사용 하여 파일 을 닫 습 니 다.이 함수 의 문법 은 다음 과 같 습 니 다.
bool fclose ( resource handle ) ;
이 함 수 는 인자 handle 이 가리 키 는 파일 을 닫 습 니 다.성공 하면 true 로 돌아 갑 니 다.그렇지 않 으 면 false 로 돌아 갑 니 다.파일 포인터 가 유효 하고 fopen()함 수 를 통 해 성공 적 으로 열 린 파일 이 어야 합 니 다.예 를 들 면:
<?php
$f_open =fopen("../file.txt.","rb"); //
… //
fclose($f_open) //
?>
파일 읽 기1.파일 에서 데이터 읽 기
파일 에서 데 이 터 를 읽 으 면 한 글자,한 줄 의 문자열 또는 전체 파일 을 읽 을 수 있 고 임의의 길이 의 문자열 도 읽 을 수 있 습 니 다.
전체 파일 읽 기:readfile(),file(),fileget_contents()。
(1)readfile()함수
readfile()함 수 는 파일 을 읽 고 출력 버퍼 에 기록 하 는 데 사 용 됩 니 다.오류 가 발생 하면 false 로 돌아 갑 니 다.함수 문법 은 다음 과 같 습 니 다.
int readfile(string filename)
readfile()함 수 를 사용 하면 파일 을 열거 나 닫 을 필요 가 없고 echo/print 등 출력 문 구 를 필요 로 하지 않 으 며 파일 경 로 를 직접 쓰 면 됩 니 다.(2)file()함수
file()함수 도 전체 파일 의 내용 을 읽 을 수 있 습 니 다.file()함수 만 파일 내용 을 줄 별로 배열 에 저장 합 니 다.줄 바 꿈 자 를 포함 합 니 다.실패 하면 false 로 돌아 갑 니 다.함수 문법 은 다음 과 같 습 니 다.
array file(string filename)
(3)file_get_contents()함수이 함 수 는 파일 내용(filename)을 문자열 로 읽 습 니 다.offset 과 maxlen 인자 가 있 으 면 인자 offset 이 지정 한 위치 에서 길이 가 maxlen 인 내용 을 읽 기 시작 합 니 다.실패 하면 false 로 돌아 갑 니 다.함수 문법 은 다음 과 같 습 니 다.
string file_get_contents(string filename[,int offset[,int maxlen]])
이 함 수 는 바 이 너 리 대상 에 적용 되 며 전체 파일 의 내용 을 문자열 에 읽 는 가장 좋 은 방법 입 니 다.예시:
readfile()함수,file()함수,file 사용 하기get_contents()함수 가 각각 tm.txt 의 내용 을 읽 습 니 다.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title> </title>
<style type="text/css">
<!--
body,td,th {
font-size: 12px;
}
body {
margin-left: 10px;
margin-top: 10px;
margin-right: 10px;
margin-bottom: 10px;
}
-->
</style></head>
<body>
<table border="1" cellspacing="0" cellpadding="0">
<tr>
<td width="280" height="25" align="right" valign="middle" scope="col"> readfile() :</td>
<td height="25" align="center" valign="middle" scope="col">
<?php readfile('tm.txt'); ?> </td>
</tr>
<tr>
<td height="25" align="right" valign="middle"> file() :</td>
<td height="25" align="center" valign="middle">
<?php
$f_arr = file('tm.txt');
foreach($f_arr as $cont){
echo $cont."<br>";
}
?></td>
</tr>
<tr>
<td width="280" height="25" align="right" valign="middle" scope="col"> file_get_contents() :</td>
<td height="25" align="center" valign="middle" scope="col">
<?php
$f_chr = file_get_contents('tm.txt');
echo $f_chr;
?></td>
</tr>
</table>
</body>
</html>
효과:한 줄 의 데이터 읽 기:fgets()와 fgets()
(1)fgets()함수
fgets()함 수 는 한 줄 의 데 이 터 를 읽 는 데 사 용 됩 니 다.함수 문법 은 다음 과 같 습 니 다.
string fgets( int handle [, int length] )
handle 은 열 린 파일 입 니 다4.567917.length 는 읽 을 데이터 길이 입 니 다함 수 는 handle 지정 한 파일 에서 한 줄 을 읽 고 길이 의 최대 값 을 되 돌려 줍 니 다.length-1 바이트 의 문자열 입 니 다.줄 바 꿈 문자,EOF 를 만 나 거나 length-1 바이트 를 읽 은 후에 중단 합 니 다.length 인 자 를 무시 하면 줄 이 끝 날 때 까지 데 이 터 를 읽 습 니 다.
(2)fgets()함수
fgets()함 수 는 fgets()함수 의 변형 으로 한 줄 의 데 이 터 를 읽 는 동시에,
fgets()함 수 는 읽 힌 내용 의 html 와 phop 표 시 를 걸 러 냅 니 다.함수 문법 은 다음 과 같 습 니 다.
string fgetss ( resource handle [, int length [, string
allowable_tags]] )
이 함 수 는 읽 은 파일 에서 html 와 phop 표 시 를 걸 러 낼 수 있 습 니 다.사용 가능allowable_tags 매개 변 수 는 어떤 태그 가 걸 러 지지 않 는 지 제어 합 니 다.
예시:fgets()함수 와 fgets()함 수 를 사용 하여 각각 fun.php 파일 을 읽 고 표시 합 니 다.
fun.php:
<table width="200" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="20" align="center" valign="middle" scope="col"><font color='red'>I am red.</font></td>
<td height="20" align="center" valign="middle" scope="col"><font color='green'>I am green.</font></td>
</tr>
<tr>
<td height="20" align="center" valign="middle"><font color='black'>I am black.</font></td>
<td height="20" align="center" valign="middle"><font color='pink'>I am pink. </font></td>
</tr>
</table>
index.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>fgets fgetss </title>
<style type="text/css">
<!--
body,td,th {
font-size: 12px;
}
body {
margin-left: 10px;
margin-top: 10px;
margin-right: 10px;
margin-bottom: 10px;
}
-->
</style></head>
<body>
<div align="left"></div>
<table border="1" cellspacing="0" cellpadding="0">
<tr>
<td height="30" align="right" valign="middle" scope="col"> fgets :</td>
<td height="30" align="center" valign="middle" scope="col">
<?php
header("Content-Type:text/html;charset=utf-8");
$fopen = fopen('fun.php','rb');
while(!feof($fopen)){
echo fgets($fopen);
}
fclose($fopen);
?> </td>
</tr>
<tr>
<td height="30" align="right" valign="middle"> fgetss :</td>
<td height="30" align="center" valign="middle">
<?php
$fopen = fopen('fun.php','rb');
while(!feof($fopen)){
echo fgetss($fopen);
}
fclose($fopen);
?> </td>
</tr>
</table>
</body>
</html>
효과:문자 읽 기:fgec()
특정한 문 자 를 찾 고 바 꿀 때 특정한 문 자 를 목적 성 있 게 읽 어야 합 니 다.PHP 에 서 는 fgec()함수 로 이 기능 을 수행 할 수 있 습 니 다.함수 문법 은 다음 과 같 습 니 다.
string fgetc ( resource handle )
이 함 수 는 handle 이 가리 키 는 파일 에서 문 자 를 되 돌려 줍 니 다.EOF 를 만나면 false 로 돌아간다.임의의 길이 의 문자열 읽 기:fread()
fread()는 파일 에서 지정 한 길이 의 데 이 터 를 읽 을 수 있 습 니 다.함수 문법 은 다음 과 같 습 니 다.
string fread ( int handle, int length )
인자 handle 은 가리 키 는 파일 자원 입 니 다.length 는 읽 을 바이트 수 입 니 다.함수 가 length 바이트 를 읽 거나 EOF 에 도 착 했 을 때 실행 을 중단 합 니 다.2.데 이 터 를 파일 에 쓰기
데 이 터 를 쓰 는 것 도 PHP 에서 자주 사용 하 는 파일 작업 입 니 다.PHP 에 서 는 fwrite()와 file 을 사용 합 니 다.put_contents()함수 가 파일 에 데 이 터 를 기록 합 니 다.
fwrite()함수 도 fputs()라 고 부 르 는데 그들의 용법 은 같다.fwrite()함수 의 문법 은 다음 과 같다.
int fwrite ( resource handle, string string [, int length] )
이 함 수 는 내용 string 을 파일 포인터 handle 에 기록 합 니 다.길이 length 를 지정 하면 length 바이트 에 기록 한 후 중단 합 니 다.파일 내용 길이 가 length 보다 작 으 면 모든 파일 내용 을 출력 합 니 다.file_put_contents()함 수 는 PHP 5 에 추 가 된 함수 로 문법 은 다음 과 같 습 니 다.
int file_put_contents ( string filename, string data [, int
flags])
filename 은 데 이 터 를 기록 하 는 파일 입 니 다.data 는 기록 할 데이터 입 니 다.flags 는 FILEUSE_INCLUDE_PATH、FILE_APPEND 또는 LOCKEX,LOCK_EX 독점 잠 금.file 사용put_contents()함 수 는 fopen(),fwrite(),fclose()함 수 를 순서대로 호출 하 는 기능 과 같 습 니 다.
예제:fwrite 함 수 를 사용 하여 파일 에 데 이 터 를 기록 하고 file 을 사용 합 니 다.put_contents()함수 가 데 이 터 를 기록 합 니 다.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title> fwrite file_put_contents </title>
<style type="text/css">
<!--
body,td,th {
font-size: 12px;
}
body {
margin-left: 10px;
margin-top: 10px;
margin-right: 10px;
margin-bottom: 10px;
}
-->
</style></head>
<body>
<?php
header("Content-Type:text/html;charset=utf-8");
$filepath = "05.txt";
$str = " <br>";
echo " fwrite :";
$fopen = fopen($filepath,'wb') or die(' ');
fwrite($fopen,$str);
fclose($fopen);
readfile($filepath);
echo "<p> file_put_contents :";
file_put_contents($filepath,$str);
readfile($filepath);
?>
</body>
</html>
효과:파일 내용 을 읽 고 쓸 수 있 는 것 외 에 복사,이름 바 꾸 기,수정 날짜 보기 등 파일 자체 도 조작 할 수 있다.PHP 에 대량의 파일 조작 함수 가 내장 되 어 있 습 니 다.
- bool copy( string path1, string path2): path1 path2。 , true, false。 :copy('tm.txt','../tm.txt')
- bool unlink( string filename ) , true, False。 :unlink(‘./tm.txt')
- int fileatime( string filename ) , UNIX 。 :fileatime('1.txt')
- int filemtime( string filename ) , UNIX 。 :date('Y-m-dH:i:s',filemtime('1.txt'))
- int filesize( string filename ) filename (bytes)。 :filesize('1.txt')
- array pathinfo(string name [, int options]) , name 。 dirname、basename extension。 option , PATHINFO_DIRNAME、PATHINFO_BASENAME PATHINFO_EXTENSION。
。 :
$arr =pathinfo('/tm/sl/12/5/1.txt');
foreach($arras$method=>$value{
echo$method.“:”.$value.“<br>”;
}
- string realpath ( string filename ) filename 。 c:\tmp\…\1.txtrealpath('1.txt')
- array stat ( string filename ) , , 、
$arr = stat('1.txt');
foreach($arr as $method => $value){
echo $method.": ".$value."<br>";
}
PHP 파일 열기 닫 기 및 읽 기 쓰기 동작 예제 해석 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 PHP 파일 열기 닫 기 및 읽 기 쓰기 내용 은 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 지원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
laravel에 yo에서 angularJs&coffeescript를 사용할 수 있도록 한다.먼저 yo 명령을 사용할 수 있어야하므로 아래에서 설치 global에 설치한 곳에서 laravel의 프로젝트 루트로 이동. 클라이언트 코드를 관리하는 디렉토리를 만들고 이동합니다. 클라이언트 환경 만들기 이것으로 히...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.