uTools-Manuals/docs/php/finfo_open.html
2019-04-08 23:22:26 +08:00

156 lines
8.1 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>创建一个 fileinfo 资源</title>
</head>
<body class="docs"><div id="layout">
<div id="layout-content"><div id="function.finfo-open" class="refentry">
<div class="refnamediv">
<h1 class="refname">finfo_open</h1>
<h1 class="refname">finfo::__construct</h1>
<p class="verinfo">(PHP &gt;= 5.3.0, PECL fileinfo &gt;= 0.1.0)</p><p class="refpurpose"><span class="refname">finfo_open</span> -- <span class="refname">finfo::__construct</span> &mdash; <span class="dc-title">创建一个 fileinfo 资源</span></p>
</div>
<div class="refsect1 description" id="refsect1-function.finfo-open-description">
<h3 class="title">说明</h3>
<p class="para">过程化风格</p>
<div class="methodsynopsis dc-description">
<span class="methodname"><strong>finfo_open</strong></span>
([ <span class="methodparam"><span class="type">int</span> <code class="parameter">$options</code><span class="initializer"> = FILEINFO_NONE</span></span>
[, <span class="methodparam"><span class="type">string</span> <code class="parameter">$magic_file</code><span class="initializer"> = <strong><code>NULL</code></strong></span></span>
]] ) : <span class="type">resource</span></div>
<p class="para rdfs-comment">面向对象风格 (构造器):</p>
<div class="constructorsynopsis dc-description">
<span class="modifier">public</span> <span class="methodname"><a href="finfo.construct.html" class="methodname">finfo::__construct</a></span>
([ <span class="methodparam"><span class="type">int</span> <code class="parameter">$options</code><span class="initializer"> = FILEINFO_NONE</span></span>
[, <span class="methodparam"><span class="type">string</span> <code class="parameter">$magic_file</code><span class="initializer"> = <strong><code>NULL</code></strong></span></span>
]] )</div>
<p class="para rdfs-comment">
本函数打开一个魔数数据库并且返回它的资源。
</p>
</div>
<div class="refsect1 parameters" id="refsect1-function.finfo-open-parameters">
<h3 class="title">参数</h3>
<p class="para">
<dl>
<dt>
<code class="parameter">options</code></dt>
<dd>
<p class="para">
一个 <a href="fileinfo.constants.html" class="link">Fileinfo
常量 </a> 或多个 <a href="fileinfo.constants.html" class="link">Fileinfo 常量 </a> 进行逻辑或运算。
</p>
</dd>
<dt>
<code class="parameter">magic_file</code></dt>
<dd>
<p class="para">
魔数数据库文件名称,
通常是 <var class="filename">/path/to/magic.mime</var>
如果未指定,则使用 <em>MAGIC</em> 环境变量。
如果未指定此环境变量,
则使用 PHP 绑定的魔数数据库。
</p>
<p class="para">
传入 <strong><code>NULL</code></strong> 或者空字符串,等同于使用默认值。
</p>
</dd>
</dl>
</p>
</div>
<div class="refsect1 returnvalues" id="refsect1-function.finfo-open-returnvalues">
<h3 class="title">返回值</h3>
<p class="para">
(仅适用于过程化风格)
如果成功则返回一个表示魔数数据库的资源,
或者在失败时返回 <strong><code>FALSE</code></strong>
</p>
</div>
<div class="refsect1 notes" id="refsect1-function.finfo-open-notes">
<h3 class="title">注释</h3>
<div class="warning"><strong class="warning">Warning</strong>
<p class="para">
在 PHP 5.3.11 和 5.4.1 中预期的魔数数据库格式发生了变动,
所以,内置的魔数数据库被更新。
如果使用了外部魔数数据库,
可能会由于格式不同导致读取失败。
同时,一些 mime 类型的文字表示也发生了变化,
例如PHP 文件的 mime 类型由 “&quot;PHP script text”
变为“PHP script, ASCII text”。
</p>
</div>
<blockquote class="note"><p><strong class="note">Note</strong>:
<p class="para">
通常来说,使用 PHP 绑定的魔数数据库(设置 <code class="parameter">magic_file</code> 参数为空,
不设置 <em>MAGIC</em> 环境变量)是最好的选择,
除非你确实需要一个自定义的魔数数据库。
</p>
</p></blockquote>
</div>
<div class="refsect1 examples" id="refsect1-function.finfo-open-examples">
<h3 class="title">范例</h3>
<div class="example" id="example-2758">
<p><strong>Example #1 面向对象风格</strong></p>
<div class="example-contents">
<div class="phpcode"><pre><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />$finfo&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">finfo</span><span style="color: #007700">(</span><span style="color: #0000BB">FILEINFO_MIME</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"/usr/share/misc/magic"</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;返回&nbsp;mime&nbsp;类型<br /><br />/*&nbsp;get&nbsp;mime-type&nbsp;for&nbsp;a&nbsp;specific&nbsp;file&nbsp;*/<br /></span><span style="color: #0000BB">$filename&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"/usr/local/something.txt"</span><span style="color: #007700">;<br />echo&nbsp;</span><span style="color: #0000BB">$finfo</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">file</span><span style="color: #007700">(</span><span style="color: #0000BB">$filename</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</pre></div>
</div>
</div>
<div class="example" id="example-2759">
<p><strong>Example #2 过程化风格</strong></p>
<div class="example-contents">
<div class="phpcode"><pre><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />$finfo&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">finfo_open</span><span style="color: #007700">(</span><span style="color: #0000BB">FILEINFO_MIME</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"/usr/share/misc/magic"</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;返回&nbsp;mime&nbsp;类型<br /><br /></span><span style="color: #007700">if&nbsp;(!</span><span style="color: #0000BB">$finfo</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"Opening&nbsp;fileinfo&nbsp;database&nbsp;failed"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;exit();<br />}<br /><br /></span><span style="color: #FF8000">/*&nbsp;获取指定文件的&nbsp;mime&nbsp;类型&nbsp;*/<br /></span><span style="color: #0000BB">$filename&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"/usr/local/something.txt"</span><span style="color: #007700">;<br />echo&nbsp;</span><span style="color: #0000BB">finfo_file</span><span style="color: #007700">(</span><span style="color: #0000BB">$finfo</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$filename</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/*&nbsp;关闭资源&nbsp;*/<br /></span><span style="color: #0000BB">finfo_close</span><span style="color: #007700">(</span><span style="color: #0000BB">$finfo</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</pre></div>
</div>
</div>
<p class="para">以上例程会输出:</p>
<div class="example-contents screen">
<div class="cdata"><pre>
text/plain; charset=us-ascii
</pre></div>
</div>
</div>
<div class="refsect1 seealso" id="refsect1-function.finfo-open-seealso">
<h3 class="title">参见</h3>
<p class="para">
<ul class="simplelist">
<li class="member"><span class="function"><a href="finfo_close.html" class="function" rel="rdfs-seeAlso">finfo_close()</a> - 关闭 fileinfo 资源</span></li>
</ul>
</p>
</div>
</div></div></div></body></html>