파일 및 디렉터리 작업
PHP는 로컬 서버에 있는 파일과 디렉터리를 처리하는 것이 매우 편리하지만 때로는 권한 및 경로 관련 문제가 발생할 수 있습니다
1. 파일
리소스 fopen(문자열 파일 이름, string mode [, bool use_include_path [, resources zcontext]] )
$handle = fopen(filename,mode)//파일을 열고 이 파일의 리소스를 나타내는 핸들을 반환합니다.
파일 이름은 상대 이름을 사용할 수 있습니다. 경로 또는 절대 경로를 사용할 수 있습니다. 개방형 모드는 rr ww aa xx b
바이너리 파일 운영 시 'b' 태그를 지정하지 않으면 깨진 등의 이상한 문제가 발생할 수 있습니다. 이미지 파일과 rn 문자 관련 문제. 이상한 질문입니다.
이식성 이유로 fopen()으로 파일을 열 때 항상 'b' 플래그를 사용하는 것이 좋습니다.
다음은 파일을 여는 여러 가지 방법입니다
$fp = @fopen('log.txt',"rb")
$fp = @fopen('../log.txt'," rb");
$fp = @fopen("http://www.runer.com.cn/default.htm","rb");//ftp 및 ghoper와 같은 프로토콜을 사용할 수도 있습니다. php는 .ini 파일에서 Allow_url_fopen 옵션을 활성화해야 합니다
//////////////////////////////코드 부분///// ///// //////////////////////////////
$filename1 = "userinfo.txt";/ /디렉터리 또는 include_path에 존재합니다.
$filename2 = "test.txt";//이 파일은 디렉토리 또는 include_path에 존재하지 않습니다
$resource1 = fopen($filename1,"rb"); 🎜>@$resource2 = fopen( $filename2,"rb");//이 파일이 디렉터리에 존재하지 않고 포함된 파일의 경로를 찾는 데 include_path 또는 include_path가 사용되지 않기 때문에 이 작업은 오류 억제기 @를 사용하면 브라우저가 오류 메시지를 출력하지 않게 할 수 있습니다
if($resource1)
echo "{$filename1} 파일 열기
if(!@fopen($filename2) ,"r"))
echo "{$filename2} 파일 열기 실패" ";
/////////////////////////// //////////////////// ///////////////////////////// /
------ ---출력 결과------------------------- -----------------
userinfo.txt 파일 열기 성공
---------------------- -------------------------- ----------- --
2. 파일을 사용한 후에는 해당 파일이 사용되었음을 PHP에 명시적으로 알려야 하며 파일의 모든 내용이 버퍼에서 하드 디스크로 올바르게 플러시되었는지 확인해야 합니다.
fclose 사용 () 파일을 닫으려면
bool fclose(리소스 핸들)//열린 파일 포인터를 닫습니다
3. 파일 읽기, fopen 함수의 모드 매개변수는 읽기를 허용합니다. files
string fgets(int handler [, int length])는 파일 포인터에서 한 줄을 읽습니다. 바이너리 파일에서 fgets를 시도하면 예측할 수 없는 결과가 발생합니다
길이를 지정하지 않으면 기본적으로 1K 데이터를 읽습니다. , 개행 문자(반환 값에 포함됨), EOF 또는 길이 - 1바이트를 읽은 후 중지됩니다.
string fgetss ( 리소스 핸들 [, int length [, string allowed_tags]] )는 한 줄을 읽습니다. 파일 포인터에서 HTML 태그를 필터링합니다.
fgetc()는 단일 문자를 읽습니다.
fread()는 임의의 이진 데이터를 읽습니다.
/ ////////////////// ////////////코드 부분/////////////////////////////////// /////
$handle = fopen ("test.jpg", "rb");
$c
while (!feof($handle)) {
$contents . = @fread($handle, 8192);//읽기를 반복하고 큰 파일로 병합
}
fclose($handle)
//////////// //////////////////////////////////////////////// ///////////////
---------------------------- -출력 결과--- -----------
------ ------ ------------------ ------ ---------
4. 파일 읽기 상태 확인
각 파일 핸들에는 파일 포인터 또는 발생하는 커서에 대한 다음 작업이 파일의 위치를 나타내는 포인터가 있습니다. , fopen 함수의 모드 매개변수
에 따라 파일 포인터는 처음에 파일의 시작 부분(0)에 위치하거나 파일의 끝 부분에 위치합니다.
feof()는 파일이 도달했는지 여부를 확인할 수 있습니다. 끝 (끝에 도달한 후 TRUE를 반환하는 함수)
filesize() 함수는 파일의 크기를 반환합니다. 5. 파일 쓰기
fwrite() 함수는 파일 쓰기를 실행합니다
////// /////////////// ///////코드 부분////////////////////////// ///////////////
$filename = 'test.txt';
$somec
// 먼저 파일이 존재하는지 확인해야 합니다. 쓰기 가능합니다.
if (is_writable($filename)) {
// 이 예에서는 추가 모드를 사용하여 $filename을 엽니다.
// 따라서 파일 포인터는 파일의 시작 부분에 있습니다.
// fwrite()를 사용할 때 $somecontent가 기록되는 곳입니다.
if (!$handle = fopen($filename, 'a')) {
echo "$filename 파일을 열 수 없습니다."
exit
}
//$somecontent 쓰기 우리가 연 파일.
if (fwrite($handle, $somecontent) === FALSE) {
echo "$filename 파일에 쓸 수 없습니다.";
exit
}
echo "$somecontent가 성공했습니다. $filename 파일에 기록됨";
fclose($handle);
} else {
}
echo "$filename 파일에 쓸 수 없습니다.";
////// // ///////////////////////////////////////////////// // ///////////////////
------------출력 결과 ------ ---------------------
이 텍스트를 파일에 성공적으로 추가했습니다. test .txt
------------------------- 파일에 썼습니다. ---------- -------------
바이너리 데이터의 경우 세 번째 매개변수를 지정해야 하며, 디스크에 기록된 데이터 바이트 수를 포함합니다.
$result = @fwrite($fp,$binary_data,mb_strlen($binary_data,'8bit'))
파일 권한 및 기타 정보
읽을 수 있습니다. ()//파일 읽기 가능 여부 판단
is_writeable()//파일 쓰기 가능 여부 판단
is_writable()//파일 쓰기 가능 여부 판단
fileperms()//권한 판단 파일 (UNIX 스타일의 파일 권한 테스트 기능)
file_exists( )//이 파일이 존재하는지 여부
fileowner()//파일이 속한 사용자 확인
filegroup()//그룹 확인 해당 파일이 속한
7. 파일 삭제 및 이름 바꾸기
unlink()//파일 삭제
rename()//파일 이름 바꾸기
8. 디렉토리 접근
을 사용하는 것이 좋습니다. Windows 및 Unix 시스템과 호환되는 디렉터리 액세스용 슬래시 "/"
basename()//반환에는 경로 정보의 파일 이름이 포함되지 않습니다.
dirname()//파일 이름의 디렉터리 부분을 반환합니다
realpath()//상대 경로를 받아들이고 파일의 절대 경로를 반환
pathinfo()//주어진 경로 이름, 기본 파일 이름 및 확장자의 디렉터리를 추출합니다
opendir()//디렉토리 열기 그리고 리소스 핸들을 반환합니다
readdir()//디렉터리 항목 읽기
rewinddir()//읽기 포인터를 시작 부분으로 반환
closeir()//읽기 핸들 닫기
chdir() //현재 스크립트 실행 중 현재 작업 디렉토리 변경
mkdir()//디렉토리 생성
rmdir()디렉토리 삭제
/// ////////// ////////////////코드 부분//////////////////////// //////// /////////
///////////////////////////////////// //////////////////////////////////////
--- ---- --------------출력 결과---------- ---------
파일 이름: 웹 : 파일 유형: dir
파일 이름: 연구: 파일 유형: dir
위 내용은 PHP 프로그래밍 습관을 포함하여 PHP 프로그래밍 습관과 8가지 일반적인 파일 작업 방법을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.