php fgets() function usage example code

怪我咯
Release: 2023-03-13 13:40:02
Original
1384 people have browsed it

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

Syntax

fgets(file,length)
Copy after login
ParametersDescription
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);
}
Copy after login

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!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template