Home >Backend Development >PHP Tutorial >php fgets() function usage example code

php fgets() function usage example code

怪我咯
怪我咯Original
2017-07-11 09:51:361444browse

fgets() function reads a line from the file pointer.

Syntax

fgets(file,length)
Parameters Description
file Required. Specifies the file to be read.
length Optional. Specifies the number of bytes to read. The default is 1024 bytes.

Description

Reads a line from the file pointed to by file and returns a string of length at most length - 1 byte . Stops when a newline character (included in the return value), EOF, or length - 1 bytes has been read (whichever occurs first). If length is not specified, it defaults to 1K, or 1024 bytes.

If it fails, return false.

Tips and Notes

Note: The length parameter becomes optional as of PHP 4.2.0. If omitted, the length of the line is assumed to be 1024 bytes. Starting with PHP 4.3, omitting length will continue reading from the stream until the end of the line. If most of the lines in the file are larger than 8 KB, specifying the maximum line length in the script is more efficient in utilizing resources.

Note: Starting from PHP 4.3, this function can be safely used in binary files. Earlier versions did not.

Note: If you encounter that PHP cannot recognize the line ending characters of Macintosh files when reading files, you can activate the auto_detect_line_endings runtime configuration option.

The following is an example of using the PHP fgets() function to read a text file line by line. The code is as follows

$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);
}

The above is the detailed content of php fgets() function usage example code. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn