> 백엔드 개발 > PHP 튜토리얼 > PHP 파일 연산 기능 적용

PHP 파일 연산 기능 적용

墨辰丷
풀어 주다: 2023-03-31 13:16:02
원래의
1611명이 탐색했습니다.

이 글은 주로 PHP 파일 읽기 기능의 응용 사례와 일반적으로 사용되는 파일 데이터 읽기 기능의 사용법과 차이점을 소개합니다. 도움이 필요한 친구들이 참고할 수 있습니다.

PHP 파일 읽기 작업에는 파일 쓰기 작업보다 더 많은 PHP 파일 작업 기능이 포함됩니다. 이러한 기능은 코드 예제에서 자세히 소개됩니다.

텍스트 파일에 저장된 데이터를 읽는 방법은 주로 다음과 같은 세 단계와 일부 파일 작업 기능으로 구성됩니다.

1. 파일 열기(파일 작업 기능: fopen)
2. 파일 데이터 읽기(파일 작업 기능: fgets , file, readfile, feof 등)
3. 파일 닫기(파일 작업 기능: fclose)

다음은 여전히 ​​PHP 파일 읽기 및 쓰기 작업 코드 예제를 사용하여 파일 읽기 방법의 구체적인 적용을 설명합니다. , 다른 PHP를 호출하여 파일 읽기 연산 기능은 텍스트 파일의 데이터를 읽어 PHP 웹 사이트 개발에 합리적으로 적용할 수 있도록 PHP 파일 읽기 연산 기능에 대한 이해를 심화시킬 수 있습니다. 텍스트 파일에 기록된 데이터는 PHP 파일 읽기 및 쓰기 작업의 파일 쓰기 튜토리얼에서 가져온 것입니다. fopen 함수의 파일 읽기 및 쓰기 모드에 대해서는 이 기사를 참조할 수도 있습니다.

PHP 파일 읽기 작업 코드 예제

<?
$readFun = "fread";
switch ($readFun)
{
case "fgetss":
@$fp = fopen("leapsoulcn.txt","r") or die("system error");
$allowable_tags = "<h1>";
while (!feof($fp)) {
$output = fgetss($fp,100,$allowable_tags);
echo $output;
}
fclose($fp);
break;
case "fgetcsv":
@$fp = fopen("leapsoulcn.txt","r") or die("system error");
while (!feof($fp)) {
$output = fgetcsv($fp,100,"\t");
print_r($output);
}
fclose($fp);
break;
case "readfile":
echo readfile("leapsoulcn.txt");
break;
case "fpassthru":
@$fp = fopen("leapsoulcn.txt","r") or die("system error");
if(!fpassthru($fp))
exit();
fclose($fp);
break;
case "file":
$output = file("leapsoulcn.txt");
print_r($output);
break;
case "fgetc":
@$fp = fopen("leapsoulcn.txt","r") or die("system error");
while (!feof($fp)) {
$str = fgetc($fp);
echo ($str == "\n"?"<br/>":$str);
}
fclose($fp);
break;
case "fread":
@$fp = fopen("leapsoulcn.txt","r") or die("system error");
echo fread($fp,300);
fclose($fp);
break;
default:
@$fp = fopen("leapsoulcn.txt","r") or die("system error");
while (!feof($fp)) {
$output = fgets($fp,100);
echo $output;
}
fclose($fp);
break;
}
?>
로그인 후 복사

참고: 위 예제에서는 $readFun에 값을 할당하여 다양한 PHP 파일 읽기 메서드를 호출할 수 있습니다. 관련된 PHP 파일 읽기 작업 함수에는 fgets, fgetss, fgetcsv와 같은 함수가 포함됩니다. , readfile, fpassthru, 파일, fgetc 등

PHP 파일 읽기 연산 함수 fgets, fgetss, fgetcsv의 차이점

코드 예시에서 기본 PHP 파일 읽기 연산 함수는 fgets이며, fgetss와 fgetcsv 함수의 함수는 fgets와 동일합니다. 그것들은 모두 한 번에 읽혀집니다. 파일의 끝까지 파일에서 한 줄을 가져옵니다. 여기서는 읽을 텍스트 파일의 데이터 길이를 100으로 설정했습니다. 즉, 최대 읽기 길이는 99(100-1)입니다. 이런 식으로 줄 바꿈 문자 n 또는 파일 끝 문자 EOF를 만났을 때, 또는 파일에서 99를 읽었습니다. 바이트에 도달하면 데이터 읽기를 중지합니다. fgets 함수는 파일에서 읽은 데이터를 문자열 형식으로 반환합니다.

fgetss 함수는 fgets 함수의 변형으로, 세 번째 매개변수를 전달하여 불필요한 데이터를 필터링하고 웹사이트 보안을 향상할 수 있습니다. 예를 들어 사용자의 입력 데이터를 방명록에서 필터링할 수 있습니다. fgetss 함수 프로토타입은 다음과 같습니다.

string fgetss(resource fp, int length, string[옵션] allowed_tags)

allowable_tags 매개변수는 선택사항입니다. 예제에서는 html, body, h1을 포함한 매개변수를 작성했습니다. leapsoulcn.txt 파일에 미리 텍스트 한 줄을 표시한 뒤, 코드에서 h1 태그만 나타나도록 설정했습니다.

 fgetcsv 함수는 fgets의 또 다른 변형입니다. 차이점은 텍스트 파일에 기록된 데이터가 구분 기호를 사용하는 경우 fgetcsv를 사용하여 한 줄을 여러 줄로 나눌 수 있고 반환된 결과가 배열에 저장된다는 것입니다. 프로토타입은 다음과 같습니다:

array fgetcsv(resource fp,int length, string[옵션] 구분 기호, 문자열[옵션] 인클로저)

구분 기호는 선택 사항입니다. 이전에 파일에 기록된 데이터에 t를 사용했기 때문입니다. 예제에서는 파일 읽기 함수 fgetcsv에서 구분 기호로 t를 사용한 다음 print_r을 통해 fgetcsv가 반환한 배열 구조를 인쇄했습니다.

세 가지 PHP 파일 읽기 연산 함수 fgets, fgetss, fgetcsv의 공통점은 모두 fopen 함수를 사용하여 읽기 파일을 미리 열어야 함과 동시에 feof 함수를 사용하여 파일이 열렸는지 확인해야 한다는 것입니다. 파일 포인터가 파일 끝에 도달하면 읽기 작업이 완료될 때까지 기다려야 합니다. 파일을 닫으려면 fclose 함수를 사용하세요.

  fgetc: 단일 문자 읽기
  fgetc 함수는 문자를 읽는 데 사용됩니다. 코드 예제에서는 문자를 하나씩 읽습니다. n개의 문자가 나타나면 검색을 위해 html 파일에서 br 태그로 변환됩니다. 특정 줄 바꿈 효과는 프로세서에 표시됩니다. 물론 이 기능의 효율성은 상대적으로 낮으므로 사용하지 않는 것이 좋습니다.

  PHP 파일 읽기 연산 함수 readfile, fpassthru, file

 세 가지 함수의 공통점은 한 번에 한 줄이나 한 문자를 읽는 것이 아니라 파일 전체를 한 번에 읽을 수 있다는 점입니다. . 차이점은 다음과 같습니다.
readfile 함수는 파일을 열고 브라우저에 직접 출력되는 파일 내용을 반환합니다. fopen 함수와 마찬가지로 함수 반환 값은 파일의 두 번째 매개변수입니다. 함수는 선택사항이며, PHP가 include_path에 있어야 하는지 여부를 나타냅니다. 에서 파일을 찾습니다. 코드 예제에서는 읽은 파일 내용을 출력하지 않고 읽은 파일 문자의 총 개수를 출력하기 위해 echo 문을 사용합니다. 읽은 파일 내용은 readfile 함수에 의해 자동으로 출력되었습니다. readfile 함수의 프로토타입은 다음과 같습니다.
int readfile(string filename,int[선택 사항] use_include_path)

file 함수는 파일을 읽는 또 다른 방법으로, 읽은 파일 내용을 한 줄에 하나씩 배열로 보냅니다. 단위. 파일 함수 프로토타입은 다음과 같습니다:
array file(string filename,bool[선택 사항] use_include_path)

  fpassthru()函数用来输出文件指针处的所有剩余数据,即如果文件指针并不在开头,它只输出文件指针后面的数据。该函数将给定的文件指针从当前的位置读取到EOF,并把结果写到输出缓冲区,返回值为输出的字符数。发生错误时,返回FALSE。与readfile()函数相比,fpassthru()函数需要首先打开文件,数据读取完毕后要关闭文件。

  fread与file_exists、filesize函数

  fread函数也是读取文件的一种方法,其可以从文件中读取任意字节,要么满足length要么读到文件末尾。read函数原型如下:

string fread(resource fp,int length)

  在用到fread函数时,当你想读取文件全部数据,又不知道文件数据长度时,filesize函数可以解决这个问题,即

<?
  @$fp = fopen("leapsoulcn.txt","r") or die("system error");
  echo fread($fp,filesize("leapsoulcn.txt"));
  fclose($fp);
?>
로그인 후 복사

在PHP文件读写操作教程中我们还没有使用过file_exists函数,通常在PHP网站开发中,出于各种考虑,有时当文件不存在时,我们并不像创建新文件,这时我们就需要在使用fopen函数前使用file_exists函数判断文件是否存在,即

<?
if(file_exists("leapsoulcn.txt"))
{
  //进行PHP文件读写操作
}
?>
로그인 후 복사

总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。

相关推荐:

PHP自动生成表单的方法

php操作MySQL数据库的方法

php针对服务器端预定义变量$_SERVER的方法

위 내용은 PHP 파일 연산 기능 적용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿