> 백엔드 개발 > PHP 튜토리얼 > 웹 사이트 구축_PHP 튜토리얼에서 PHP 프로그래밍의 8가지 일반적인 파일 작업

웹 사이트 구축_PHP 튜토리얼에서 PHP 프로그래밍의 8가지 일반적인 파일 작업

WBOY
풀어 주다: 2016-07-22 09:02:43
원래의
753명이 탐색했습니다.

파일 및 디렉터리 작업


PHP는 로컬 서버의 파일 및 디렉터리를 처리하는 데 매우 편리하지만 때로는 권한 및 경로 관련 문제가 발생할 수 있습니다

1.파일을 엽니다

리소스 fopen ( 문자열 파일 이름, 문자열 모드 [, bool use_include_path [, 리소스 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의 허용_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 함수의 모드 매개변수는 읽기를 허용합니다.

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($핸들)

///////////////////////////////////////////////// /// /////////////////////////

--------출력 결과--------------- - ------------

------------------------------------- ------------------

4. 파일 읽기 상태 확인

각 파일 핸들에는 fopen 함수의 모드 매개변수에 따라 파일에서 다음 작업이 발생할 위치를 나타내는 파일 포인터 또는 커서가 있습니다.

파일 포인터는 처음에 파일의 시작 부분(0) 또는 파일의 끝 부분에 위치합니다

feof()는 파일이 끝에 도달했는지 여부를 확인할 수 있습니다(끝에 도달한 후 함수는 TRUE를 반환합니다)

filesize() 함수는 파일의 크기를 반환합니다. 5. 파일 쓰기

fwrite() 함수는 파일 쓰기를 실행합니다

//////////////////////////////코드 부분/////////////////// /// /////////////////////

$파일명 = '테스트.txt'

$somec;

// 먼저 파일이 존재하고 쓰기 가능한지 확인해야 합니다.

if (is_writable($filename)) {

// 이 예에서는 추가 모드를 사용하여 $filename을 엽니다.

// 따라서 파일 포인터는 파일의 시작 부분에 있게 됩니다.

// fwrite()를 사용할 때 $somecontent가 기록되는 곳입니다.

if (!$handle = fopen($filename, 'a')) {

echo "$filename 파일을 열 수 없습니다.";
종료

}

// 우리가 연 파일에 $somecontent를 씁니다.

if (fwrite($handle, $somecontent) === FALSE) {

echo "$filename 파일에 쓸 수 없습니다.";
종료

}

echo "$filename 파일에 $somecontent를 성공적으로 기록했습니다.";
fclose($핸들)

} 다른 {

}

echo "$filename 파일에 쓸 수 없습니다";
///////////////////////////////////////////////// /// /////////////////////////

--------출력 결과--------------- - ------------

이 텍스트를 파일에 성공적으로 추가하고 test.txt 파일에 썼습니다.

------------------------------------- ------------------

바이너리 데이터의 경우 디스크에 기록된 데이터 바이트 수를 포함하는 세 번째 매개변수를 지정해야 합니다.

$result = @fwrite($fp,$binary_data,mb_strlen($binary_data,'8bit'));



 

  6.文件权限和其他信息 

is_readable()//判断文件是否可读 

is_writeable()//判断文件是否可写 

is_writable()//判断文件是否可写 

fileperms()//判断文件的权限(UNIX风格的文件权限测试函数) 

file_exists()//是否存在这个文件 

fileowner()//判断文件所属用户 

filegroup()//判断文件所属组 

7.删除和重命名文件 

unlink()//删除文件 

rename()//重命名文件 

8.访问目录 

目录访问建议使用前向斜线"/",兼容windows和unix系统 

basename()//返回不包括路径信息的文件名 

dirname()//返回文件名的目录部分 

realpath()//接受相对路径,返回文件的绝对路径 

pathinfo()//提取给定路径的目录名,基本文件名和扩展名 

opendir()//打开目录,返回资源句柄 

readdir()//读取目录项 

rewinddir()//将读取指针返回开头 

closedir()//关闭读取句柄 

chdir()//改变当前脚本执行期间的当前工作目录 

mkdir()//创建目录 

rmdir()删除目录 

////////////////////////////代码部分//////////////////////////////////////// 

////////////////////////////////////////////////////////////////////////// 

---------------------输出结果---------------------------------------- 

filename: web : filetype: dir 

filename: study : filetype: dir

转载于www.abm163.com

www.bkjia.comhttp: //www.bkjia.com/PHPjc/371884.htmlTechArticle파일 및 디렉터리 작업 PHP가 로컬 서버에 있는 파일 및 디렉터리를 처리하는 것은 매우 편리하지만 가끔 이런 일이 발생합니다. 권한 및 경로 관련 문제 1. 파일 리소스 fopen( strin...
을 엽니다.
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿