>백엔드 개발 >PHP 튜토리얼 >php fgets() 함수 사용 예시 코드

php fgets() 함수 사용 예시 코드

怪我咯
怪我咯원래의
2017-07-11 09:51:361406검색

fgets() 함수는 파일 포인터에서 한 줄을 읽습니다.

Syntax

fgets(file,length)
Parameters Description
file 필수입니다. 읽을 파일을 지정합니다.
길이 선택사항. 읽을 바이트 수를 지정합니다. 기본값은 1024바이트입니다.

Description

file이 가리키는 파일에서 한 줄을 읽고 최대 길이 - 1바이트의 string을 반환합니다. 개행 문자(반환 값에 포함됨), EOF 또는 길이 - 1바이트를 읽었을 때(둘 중 먼저 발생하는 것) 중지됩니다. 길이를 지정하지 않으면 기본값은 1K 또는 1024바이트입니다.

실패하면 false를 반환하세요.

팁 및 참고 사항

참고: 길이 매개변수는 PHP 4.2.0부터 선택 사항이 되며, 생략할 경우 줄 길이는 1024바이트로 간주됩니다. PHP 4.3부터 길이를 생략하면 줄 끝까지 스트림에서 계속 읽혀집니다. 파일의 줄 대부분이 8KB보다 큰 경우 스크립트에 최대 줄 길이를 지정하는 것이 리소스 활용에 더 효율적입니다.

참고: PHP 4.3부터 이 함수는 바이너리 파일에서 안전하게 사용할 수 있습니다. 이전 버전에서는 그렇지 않았습니다.

참고: 파일을 읽을 때 PHP가 Macintosh 파일의 줄 끝 문자를 인식할 수 없는 경우 auto_Detect_line_endings 런타임 구성 옵션을 활성화할 수 있습니다.

다음은 PHP fgets() 함수를 사용하여 텍스트 파일을 한 줄씩 읽는 예제입니다.

$handle = @fopen("D:/public/test.txt", "r");
if ($handle) {
    while (!feof($handle)) {
    
        $str = fgets($handle, 4096);
       
  //$str = '#主单词1#';
  if(preg_match('/#(.+)#/',$str,$matches)){
     
     $di_word = $matches[1];
     $di_word = mysql_escape_string($di_word);
     $sql = " SELECT di_id FROM `du_index` WHERE di_word = '{$di_word}'";
     $result = mysql_query($sql);
     $row = mysql_fetch_row($result);
     $di_id =  $row[0];
     if (count($dy_word)>0){
      $sql = " INSERT INTO `du_yun` (`di_id`,`di_word`,`dy_word`,`dy_description`,`dy_status`,`dy_time`) VALUES";
      for ($i=0;$i<count($dy_word);$i++){
     $sql .= " (&#39;{$di_id_1}&#39;,&#39;{$di_word_1}&#39;,&#39;{$dy_word[$i]}&#39;,&#39;{$dy_description[$i]}&#39;,&#39;1&#39;,now()),";
     
      }
      $result = mysql_query(substr($sql,0,-1).&#39;;&#39;);
      if ($result){}else{
      echo $sql . &#39;<br />&#39;;
         }
     }
     $di_id_1 = $di_id;
     $di_word_1 = $di_word;
     $dy_word = $dy_description = array();
     $sql = &#39;&#39;;
     continue;
  }; 
  //$str = &#39;[志願者]參[與]人員&#39;;
  if (preg_match(&#39;/^\[(.+)\](.+)$/&#39;,$str,$matches)){
     $dy_word[]        = trim($matches[1]);
     $dy_description[] = trim($matches[2]);
     continue;
  }
  
 }
 if (count(dy_word)>0){
     $sql = " INSERT INTO `du_yun` (`di_id`,`di_word`,`dy_word`,`dy_description`,`dy_status`,`dy_time`) VALUES";
     for ($i=0;$i<count($dy_word);$i++){
       $sql .= " (&#39;{$di_id_1}&#39;,&#39;{$di_word_1}&#39;,&#39;{$dy_word[$i]}&#39;,&#39;{$dy_description[$i]}&#39;,&#39;1&#39;,now()),";
       
     }
     $result = mysql_query(substr($sql,0,-1).&#39;;&#39;) or die(mysql_error());
        if ($result){}else{
      echo $sql . &#39;<br />&#39;;
     }
 }
    fclose($handle);
}

위 내용은 php fgets() 함수 사용 예시 코드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.