PHP 파일 처리 - 파일 쓰기 및 파일 운영
PHP 파일 처리에는 파일 열기 및 닫기, 파일 읽기, 파일 읽기가 있습니다. 한 줄, 문자, 문자열, 전체 파일을 읽는 것입니다. 그래서 읽기가 있으면 쓰기가 있어야 합니다. 오늘 글에서는 파일 쓰기와 파일 운영에 대해 자세히 설명하겠습니다!
처음 세 기사에서 방금 이야기한 내용 "PHP 파일 처리 - 파일 열기/닫기 ", "PHP 파일 처리 - 파일 읽기(1문자, 문자열) "과 "PHP 파일 처리 - 파일 읽는 방법(한 줄, 전체 파일) "에 자세한 소개가 있습니다. 아직 읽지 않은 친구들도 확인해보세요! 오늘은 주로 파일 쓰기와 파일 조작에 대해 설명하겠습니다.
1: 파일에 데이터 쓰기
데이터 쓰기는 PHP에서 일반적인 파일 작업이기도 합니다. fweite() 및 file_put_contents( ) 함수는 파일에 데이터를 씁니다.
1. fwrite()는 언제 호출할 수 있나요? fputs()라고도 합니다. fwrite() 함수 구문은 다음과 같습니다.
int fwrite ( resource $handle , string $string [, int $length ] )
이 함수는 포인터 핸들이 가리키는 파일에 내용 문자열을 씁니다. 매개변수 길이를 지정하면 파일 내용 길이가 길이보다 작으면 파일 내용 전체가 출력됩니다.
2. file_put_contents() 함수는 PHP5의 새로운 함수입니다. 이 함수의 구문 형식은 다음과 같습니다.
int file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] )
filename은 데이터가 저장되는 파일입니다. is to be write
data는 기록될 데이터입니다.
플래그는 FILE_USE_INCLUDE_PATH, FILE_APPEND 또는 LOCK_EX일 수 있습니다. 여기서 LOCK_EX는 배타적 잠금입니다. .다음 글에서 자세히 소개하겠습니다!
file_put_contents() 함수를 사용하는 것은 fopen(), fwrite(), fclose() 함수를 차례로 호출하는 것과 동일한 기능을 갖습니다. 구체적인 강점을 통해 기능의 우수성을 비교해 보자!
이 예제는 먼저 fwrite() 함수를 사용하여 파일에 데이터를 쓴 다음 file_put_contents() 함수를 사용하여 데이터를 씁니다.
<?php header("Content-Type:text/html; charset=utf-8"); $filepath = "05.txt"; $str = "PHP中文网 www.php.cn"; 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); ?>
출력 결과는 다음과 같습니다.
2: 운영 파일
PHP는 읽기 및 쓰기만 할 수 없습니다. 파일 내용뿐 아니라 파일 자체도 복사, 이름 바꾸기, 수정 날짜 보기 등과 같은 작업을 수행합니다. PHP에는 수많은 파일 작업 함수가 내장되어 있습니다. 일반적으로 사용되는 파일 작업 함수는 다음과 같습니다.
函数原型 | 函数说明 | 举例 |
bool copy(string path1,string path2) | 将文件从path1复制到path2。如果成功则返回true,失败返回false。 | copy('tm.txt','../tm.txt') |
bool rename(string filename1,string filename2) | 把name1重新命名为name2 | rename('1.txt','test.txt') |
bool unlink(string filename) | 删除文件,成功返回true,失败返回false。 | unlink('tm.txt') |
int fileatime(string filename) | 返回文件最后一次被访问的时间,以Linux时间戳的方式返回 | fileatime('test.txt') |
int filemtime(string filename) | 返回文件最后一次被修改的时间,以Linux时间戳的方式返回 | date("Y-m-d H:i:s",filemtime("test.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/s1/16/4/9/1.txt'); foreach($arr as $method=>$value){ echo $method.":".$value." ";} |
string realpath(string filename) | 返回文件filename的绝对路径,如D:wampserverwwwtesttest.txt | realpath(test.txt) |
array stat(string filename) | 返回一个数组,包括文件的相关信息,如上面提到的文件大小、最后修改时间等。 | $arr=stat('test.txt'); foreach($arr as $method=>$value){ echo $method.":".$value." "; } |
참고:
파일을 읽고 쓸 때는 file(), readfile() 등 몇 가지 함수를 제외하고 먼저 fopen() 함수를 사용하여 파일을 열고, 마지막으로 fclose() 함수를 사용하여 파일을 닫습니다. 파일 정보 기능(예: filesize, filemtime 등)은 파일이 저장되어 있는 한 파일을 열 필요가 없습니다!
PHP 파일 처리는 여기서 끝납니다. 다음 글에서는 PHP 디렉터리를 처리해보겠습니다. 자세한 내용은 "PHP 디렉터리 처리 - 디렉터리 열기/닫기 "를 읽어보세요!
위 내용은 PHP 파일 처리 - 파일 쓰기 및 파일 운영의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!