PageRenderTime 43ms CodeModel.GetById 14ms RepoModel.GetById 0ms app.codeStats 0ms

/php/function.fgets.html

https://bitbucket.org/thncr/manuals
HTML | 178 lines | 144 code | 34 blank | 0 comment | 0 complexity | 894e17ef5af67df601e280f3753d61a1 MD5 | raw file
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  5. <title>从文件指针中读取一行</title>
  6. </head>
  7. <body><div class="manualnavbar" style="text-align: center;">
  8. <div class="prev" style="text-align: left; float: left;"><a href="function.fgetcsv.html">fgetcsv</a></div>
  9. <div class="next" style="text-align: right; float: right;"><a href="function.fgetss.html">fgetss</a></div>
  10. <div class="up"><a href="ref.filesystem.html">Filesystem 函数</a></div>
  11. <div class="home"><a href="index.html">PHP Manual</a></div>
  12. </div><hr /><div id="function.fgets" class="refentry">
  13. <div class="refnamediv">
  14. <h1 class="refname">fgets</h1>
  15. <p class="verinfo">(PHP 4, PHP 5)</p><p class="refpurpose"><span class="refname">fgets</span> &mdash; <span class="dc-title">从文件指针中读取一行</span></p>
  16. </div>
  17. <div class="refsect1 description" id="refsect1-function.fgets-description">
  18. <h3 class="title">说明</h3>
  19. <div class="methodsynopsis dc-description">
  20. <span class="type">string</span> <span class="methodname"><strong>fgets</strong></span>
  21. ( <span class="methodparam"><span class="type">resource</span> <code class="parameter">$handle</code></span>
  22. [, <span class="methodparam"><span class="type">int</span> <code class="parameter">$length</code></span>
  23. ] )</div>
  24. <p class="para rdfs-comment">
  25. 从文件指针中读取一行
  26. </p>
  27. </div>
  28. <div class="refsect1 parameters" id="refsect1-function.fgets-parameters">
  29. <h3 class="title">参数</h3>
  30. <p class="para">
  31. <dl>
  32. <dt>
  33. <span class="term"><em><code class="parameter">handle</code></em></span>
  34. <dd>
  35. <p class="para">文件指针必须是有效的必须指向由
  36. <span class="function"><a href="function.fopen.html" class="function">fopen()</a></span> <span class="function"><a href="function.fsockopen.html" class="function">fsockopen()</a></span> 成功打开的文件(并还未由 <span class="function"><a href="function.fclose.html" class="function">fclose()</a></span> 关闭)</p>
  37. </dd>
  38. </dt>
  39. <dt>
  40. <span class="term"><em><code class="parameter">length</code></em></span>
  41. <dd>
  42. <p class="para">
  43. <em><code class="parameter">handle</code></em>
  44. 指向的文件中读取一行并返回长度最多为 <em><code class="parameter">length</code></em> - 1
  45. 字节的字符串碰到换行符包括在返回值中EOF 或者已经读取了 length - 1
  46. 字节后停止看先碰到那一种情况如果没有指定
  47. <em><code class="parameter">length</code></em>则默认为 1K或者说 1024 字节
  48. </p>
  49. <blockquote class="note"><p><strong class="note">Note</strong>:
  50. <p class="para">
  51. PHP 4.3 开始忽略掉
  52. length 则行的长度被假定为 1024将继续从流中读取数据直到行结束如果文件中的大多数行都大于
  53. 8KB则在脚本中指定最大行的长度在利用资源上更为有效
  54. </p>
  55. </p></blockquote>
  56. </dd>
  57. </dt>
  58. </dl>
  59. </p>
  60. </div>
  61. <div class="refsect1 returnvalues" id="refsect1-function.fgets-returnvalues">
  62. <h3 class="title">返回值</h3>
  63. <p class="para">
  64. 从指针 <em><code class="parameter">handle</code></em> 指向的文件中读取了 <em><code class="parameter">length</code></em> - 1 字节后返回字符串
  65. 如果文件指针中没有更多的数据了则返回 <strong><code>FALSE</code></strong>
  66. </p>
  67. <p class="para">
  68. 错误发生时返回 <strong><code>FALSE</code></strong>
  69. </p>
  70. </div>
  71. <div class="refsect1 changelog" id="refsect1-function.fgets-changelog">
  72. <h3 class="title">更新日志</h3>
  73. <p class="para">
  74. <table class="doctable informaltable">
  75. <thead>
  76. <tr>
  77. <th>版本</th>
  78. <th>说明</th>
  79. </tr>
  80. </thead>
  81. <tbody class="tbody">
  82. <tr>
  83. <td>4.3.0</td>
  84. <td>
  85. <span class="function"><strong>fgets()</strong></span> 开始二进制安全
  86. </td>
  87. </tr>
  88. <tr>
  89. <td>4.2.0</td>
  90. <td>
  91. <em><code class="parameter">length</code></em> 参数成为可选
  92. </td>
  93. </tr>
  94. </tbody>
  95. </table>
  96. </p>
  97. </div>
  98. <div class="refsect1 examples" id="refsect1-function.fgets-examples">
  99. <h3 class="title">范例</h3>
  100. <p class="para">
  101. <div class="example" id="example-2245">
  102. <p><strong>Example #1 逐行读取文件</strong></p>
  103. <div class="example-contents">
  104. <div class="phpcode"><code><span style="color: #000000">
  105. <span style="color: #0000BB">&lt;?php<br />$handle&nbsp;</span><span style="color: #007700">=&nbsp;@</span><span style="color: #0000BB">fopen</span><span style="color: #007700">(</span><span style="color: #DD0000">"/tmp/inputfile.txt"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"r"</span><span style="color: #007700">);<br />if&nbsp;(</span><span style="color: #0000BB">$handle</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;((</span><span style="color: #0000BB">$buffer&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">fgets</span><span style="color: #007700">(</span><span style="color: #0000BB">$handle</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">4096</span><span style="color: #007700">))&nbsp;!==&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #0000BB">$buffer</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!</span><span style="color: #0000BB">feof</span><span style="color: #007700">(</span><span style="color: #0000BB">$handle</span><span style="color: #007700">))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"Error:&nbsp;unexpected&nbsp;fgets()&nbsp;fail\n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">fclose</span><span style="color: #007700">(</span><span style="color: #0000BB">$handle</span><span style="color: #007700">);<br />}<br /></span><span style="color: #0000BB">?&gt;</span>
  106. </span>
  107. </code></div>
  108. </div>
  109. </div>
  110. </p>
  111. </div>
  112. <div class="refsect1 notes" id="refsect1-function.fgets-notes">
  113. <h3 class="title">注释</h3>
  114. <blockquote class="note"><p><strong class="note">Note</strong>: <span class="simpara">在读取在 Macintosh 电脑中或由其创建的文件时 如果 PHP
  115. 不能正确的识别行结束符启用运行时配置可选项 <a href="filesystem.configuration.html#ini.auto-detect-line-endings" class="link">auto_detect_line_endings</a>
  116. 也许可以解决此问题</span></p></blockquote>
  117. <blockquote class="note"><p><strong class="note">Note</strong>:
  118. <p class="para">
  119. 习惯了 C 语言中 <span class="function"><strong>fgets()</strong></span> 语法的人应该注意到 <em>EOF</em>
  120. 是怎样被返回的
  121. </p>
  122. </p></blockquote>
  123. </div>
  124. <div class="refsect1 seealso" id="refsect1-function.fgets-seealso">
  125. <h3 class="title">参见</h3>
  126. <p class="para">
  127. <ul class="simplelist">
  128. <li class="member"> <span class="function"><a href="function.fgetss.html" class="function" rel="rdfs-seeAlso">fgetss()</a> - 从文件指针中读取一行并过滤掉 HTML 标记</span></li>
  129. <li class="member"> <span class="function"><a href="function.fread.html" class="function" rel="rdfs-seeAlso">fread()</a> - 读取文件可安全用于二进制文件</span></li>
  130. <li class="member"> <span class="function"><a href="function.fgetc.html" class="function" rel="rdfs-seeAlso">fgetc()</a> - 从文件指针中读取字符</span></li>
  131. <li class="member"> <span class="function"><a href="function.stream-get-line.html" class="function" rel="rdfs-seeAlso">stream_get_line()</a> - Gets line from stream resource up to a given delimiter</span></li>
  132. <li class="member"> <span class="function"><a href="function.fopen.html" class="function" rel="rdfs-seeAlso">fopen()</a> - 打开文件或者 URL</span></li>
  133. <li class="member"> <span class="function"><a href="function.popen.html" class="function" rel="rdfs-seeAlso">popen()</a> - 打开进程文件指针</span></li>
  134. <li class="member"> <span class="function"><a href="function.fsockopen.html" class="function" rel="rdfs-seeAlso">fsockopen()</a> - Open Internet or Unix domain socket connection</span></li>
  135. <li class="member"> <span class="function"><a href="function.stream-set-timeout.html" class="function" rel="rdfs-seeAlso">stream_set_timeout()</a> - Set timeout period on a stream</span></li>
  136. </ul>
  137. </p>
  138. </div>
  139. </div><hr /><div class="manualnavbar" style="text-align: center;">
  140. <div class="prev" style="text-align: left; float: left;"><a href="function.fgetcsv.html">fgetcsv</a></div>
  141. <div class="next" style="text-align: right; float: right;"><a href="function.fgetss.html">fgetss</a></div>
  142. <div class="up"><a href="ref.filesystem.html">Filesystem 函数</a></div>
  143. <div class="home"><a href="index.html">PHP Manual</a></div>
  144. </div></body></html>