Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > by-pkgid > 05cd670d8a02b2b4a0ffb1756f2e8308 > files > 1166

php-manual-zh-5.2.4-1mdv2008.1.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>getimagesize</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME"
TITLE="PHP 手册"
HREF="index.html"><LINK
REL="UP"
TITLE="Image 图像函数"
HREF="ref.image.html"><LINK
REL="PREVIOUS"
TITLE="gd_info"
HREF="function.gd-info.html"><LINK
REL="NEXT"
TITLE="image_type_to_extension"
HREF="function.image-type-to-extension.html"><META
HTTP-EQUIV="Content-type"
CONTENT="text/html; charset=UTF-8"></HEAD
><BODY
CLASS="refentry"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>PHP 手册</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="function.gd-info.html"
ACCESSKEY="P"
>上一页</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="function.image-type-to-extension.html"
ACCESSKEY="N"
>下一页</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="function.getimagesize"
></A
>getimagesize</H1
><DIV
CLASS="refnamediv"
><A
NAME="AEN86633"
></A
><P
>    (PHP 3, PHP 4, PHP 5)</P
>getimagesize&nbsp;--&nbsp;取得图像大小</DIV
><DIV
CLASS="refsect1"
><A
NAME="AEN86636"
></A
><H2
>说明</H2
>array <B
CLASS="methodname"
>getimagesize</B
> ( string filename [, array &#38;imageinfo] )<BR
></BR
><P
>&#13;    <B
CLASS="function"
>getimagesize()</B
> 函数将测定任何
    <ACRONYM
CLASS="acronym"
>GIF</ACRONYM
>,<ACRONYM
CLASS="acronym"
>JPG</ACRONYM
>,<ACRONYM
CLASS="acronym"
>PNG</ACRONYM
>,<ACRONYM
CLASS="acronym"
>SWF</ACRONYM
>,<ACRONYM
CLASS="acronym"
>SWC</ACRONYM
>,<ACRONYM
CLASS="acronym"
>PSD</ACRONYM
>,<ACRONYM
CLASS="acronym"
>TIFF</ACRONYM
>,<ACRONYM
CLASS="acronym"
>BMP</ACRONYM
>,<ACRONYM
CLASS="acronym"
>IFF</ACRONYM
>,<ACRONYM
CLASS="acronym"
>JP2</ACRONYM
>,<ACRONYM
CLASS="acronym"
>JPX</ACRONYM
>,<ACRONYM
CLASS="acronym"
>JB2</ACRONYM
>,<ACRONYM
CLASS="acronym"
>JPC</ACRONYM
>,<ACRONYM
CLASS="acronym"
>XBM</ACRONYM
>
    或 <ACRONYM
CLASS="acronym"
>WBMP</ACRONYM
> 图像文件的大小并返回图像的尺寸以及文件类型和一个可以用于普通
    <ACRONYM
CLASS="acronym"
>HTML</ACRONYM
> 文件中 <B
CLASS="sgmltag"
>&#60;</B
><B
CLASS="sgmltag"
>IMG</B
><B
CLASS="sgmltag"
>&#62;</B
> 标记中的
    height/width 文本字符串。
   </P
><P
>&#13;    如果不能访问 <CODE
CLASS="parameter"
>filename</CODE
>
    指定的图像或者其不是有效的图像,<B
CLASS="function"
>getimagesize()</B
>
    将返回 <TT
CLASS="constant"
><B
>FALSE</B
></TT
> 并产生一条 <CODE
CLASS="varname"
>E_WARNING</CODE
> 级的错误。
   </P
><DIV
CLASS="note"
><BLOCKQUOTE
CLASS="note"
><P
><B
>注意: </B
>
     对 <ACRONYM
CLASS="acronym"
>JPC</ACRONYM
>,<ACRONYM
CLASS="acronym"
>JP2</ACRONYM
>,<ACRONYM
CLASS="acronym"
>JPX</ACRONYM
>,<ACRONYM
CLASS="acronym"
>JB2</ACRONYM
>,<ACRONYM
CLASS="acronym"
>XBM</ACRONYM
>
     和 <ACRONYM
CLASS="acronym"
>WBMP</ACRONYM
> 的支持自 PHP 4.3.2
     起可用。对 <ACRONYM
CLASS="acronym"
>SWC</ACRONYM
> 的支持自 PHP 4.3.0 起可用。对
     <ACRONYM
CLASS="acronym"
>TIFF</ACRONYM
> 的支持是 PHP 4.2.0 添加的。
    </P
></BLOCKQUOTE
></DIV
><DIV
CLASS="note"
><BLOCKQUOTE
CLASS="note"
><P
><B
>注意: </B
>
     JPEG 2000 支持是 PHP 4.3.2 添加的。注意 JPC 和 JP2
     可以有不同的色彩深度的成分。此情况下,“bits”的值是碰到的最高的位深度。此外,JP2
     文件可能包含有多个 JPEG 2000 代码流,此情况下,<B
CLASS="function"
>getimagesize()</B
>
     返回此文件顶层中碰到的第一个代码流的值。
    </P
></BLOCKQUOTE
></DIV
><DIV
CLASS="note"
><BLOCKQUOTE
CLASS="note"
><P
><B
>注意: </B
>
     本函数不需要 GD 图像库。
    </P
></BLOCKQUOTE
></DIV
><P
>&#13;    返回一个具有四个单元的数组。索引 0 包含图像宽度的像素值,索引 1
    包含图像高度的像素值。索引 2 是图像类型的标记:1 = GIF,2 = JPG,3 =
    PNG,4 = SWF,5 = PSD,6 = BMP,7 = TIFF(intel byte order),8 =
    TIFF(motorola byte order),9 = JPC,10 = JP2,11 = JPX,12 =
    JB2,13 = SWC,14 = IFF,15 = WBMP,16 = XBM。这些标记与 PHP 4.3.0
    新加的 IMAGETYPE 常量对应。索引 3 是文本字符串,内容为“height="yyy"
    width="xxx"”,可直接用于 IMG 标记。
    <TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN86687"
></A
><P
><B
>例 1. getimagesize(文件)</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><code><font color="#000000">
<font color="#0000BB">&lt;?php<br /></font><font color="#007700">list(</font><font color="#0000BB">$width</font><font color="#007700">, </font><font color="#0000BB">$height</font><font color="#007700">, </font><font color="#0000BB">$type</font><font color="#007700">, </font><font color="#0000BB">$attr</font><font color="#007700">) = </font><font color="#0000BB">getimagesize</font><font color="#007700">(</font><font color="#DD0000">"img/flag.jpg"</font><font color="#007700">);<br />echo </font><font color="#DD0000">"&lt;img src=</font><font color="#007700">\"</font><font color="#DD0000">img/flag.jpg</font><font color="#007700">\"</font><font color="#DD0000"> $attr&gt;"</font><font color="#007700">;<br /></font><font color="#0000BB">?&gt;</font>
</font>
</code></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
>
   </P
><P
>&#13;    URL 支持是 PHP 4.0.5 添加的。
    <TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN86691"
></A
><P
><B
>例 2. getimagesize(URL)</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><code><font color="#000000">
<font color="#0000BB">&lt;?php<br />$size </font><font color="#007700">= </font><font color="#0000BB">getimagesize</font><font color="#007700">(</font><font color="#DD0000">"http://www.example.com/gifs/logo.gif"</font><font color="#007700">);<br /><br /></font><font color="#FF8000">// if the file name has space in it, encode it properly<br /></font><font color="#0000BB">$size </font><font color="#007700">= </font><font color="#0000BB">getimagesize</font><font color="#007700">(</font><font color="#DD0000">"http://www.example.com/gifs/lo%20go.gif"</font><font color="#007700">);<br /><br /></font><font color="#0000BB">?&gt;</font>
</font>
</code></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
>
   </P
><P
>&#13;    对于 <ACRONYM
CLASS="acronym"
>JPG</ACRONYM
> 图像,还会多返回两个索引:<TT
CLASS="literal"
>channels</TT
>
    和 <TT
CLASS="literal"
>bits</TT
>。<TT
CLASS="literal"
>channels</TT
>
    对于 RGB 图像其值为 3,对于 CMYK 图像其值为 4。<TT
CLASS="literal"
>bits</TT
>
    是每种颜色的位数。
   </P
><P
>&#13;    自 PHP 4.3.0 起,<TT
CLASS="literal"
>bits</TT
> 和
    <TT
CLASS="literal"
>channels</TT
> 对于其它图像类型也存在。但是这些值可能会把人搞糊涂。例如,<ACRONYM
CLASS="acronym"
>GIF</ACRONYM
>
    总是对每个像素使用 3 个 channel,但是对于动画 <ACRONYM
CLASS="acronym"
>GIF</ACRONYM
>
    来说每个像素的位数无法通过全局颜色表计算出来。
   </P
><P
>&#13;    某些格式可能不包含图像或者包含多个图像。此种情况下,<B
CLASS="function"
>getimagesize()</B
>
    可能不能用来准确测定图像的大小。此时 <B
CLASS="function"
>getimagesize()</B
>
    将返回零作为宽度和高度。
   </P
><P
>&#13;    自 PHP 4.3.0 起,<B
CLASS="function"
>getimagesize()</B
> 还会返回额外的参数
    <TT
CLASS="literal"
>mime</TT
>,符合该图像的 MIME 类型。此信息可以用来在
    HTTP Content-type 头信息中发送正确的信息:
    <TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN86711"
></A
><P
><B
>例 3. getimagesize() 和 MIME 类型</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><code><font color="#000000">
<font color="#0000BB">&lt;?php<br />$size </font><font color="#007700">= </font><font color="#0000BB">getimagesize</font><font color="#007700">(</font><font color="#0000BB">$filename</font><font color="#007700">);<br /></font><font color="#0000BB">$fp</font><font color="#007700">=</font><font color="#0000BB">fopen</font><font color="#007700">(</font><font color="#0000BB">$filename</font><font color="#007700">, </font><font color="#DD0000">"rb"</font><font color="#007700">);<br />if (</font><font color="#0000BB">$size </font><font color="#007700">&amp;&amp; </font><font color="#0000BB">$fp</font><font color="#007700">) {<br />&nbsp;&nbsp;</font><font color="#0000BB">header</font><font color="#007700">(</font><font color="#DD0000">"Content-type: </font><font color="#007700">{</font><font color="#DD0000">$size</font><font color="#007700">[</font><font color="#DD0000">'mime'</font><font color="#007700">]}</font><font color="#DD0000">"</font><font color="#007700">);<br />&nbsp;&nbsp;</font><font color="#0000BB">fpassthru</font><font color="#007700">(</font><font color="#0000BB">$fp</font><font color="#007700">);<br />&nbsp;&nbsp;exit;<br />} else {<br />&nbsp;&nbsp;</font><font color="#FF8000">// error<br /></font><font color="#007700">}<br /></font><font color="#0000BB">?&gt;</font>
</font>
</code></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
>
   </P
><P
>&#13;    可选的 <CODE
CLASS="parameter"
>imageinfo</CODE
>
    参数允许从图像文件中提取一些扩展信息。目前,这将以一个关联数组返回不同的
    <ACRONYM
CLASS="acronym"
>JPG</ACRONYM
> APP 标识。某些程序用这些 APP
    标识来在图像中嵌入文本信息。一个非常常见的是 APP13 标识中嵌入的
    <ACRONYM
CLASS="acronym"
>IPTC</ACRONYM
> <A
HREF="http://www.iptc.org/"
TARGET="_top"
>http://www.iptc.org/</A
>
    信息。可以用 <A
HREF="function.iptcparse.html"
><B
CLASS="function"
>iptcparse()</B
></A
> 函数来将二进制的
    APP13 标识解析为可读的信息。
   </P
><P
>&#13;    <TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN86721"
></A
><P
><B
>例 4. getimagesize() 返回 IPTC</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><code><font color="#000000">
<font color="#0000BB">&lt;?php<br />$size </font><font color="#007700">= </font><font color="#0000BB">getimagesize</font><font color="#007700">(</font><font color="#DD0000">"testimg.jpg"</font><font color="#007700">, &amp;</font><font color="#0000BB">$info</font><font color="#007700">);<br />if (isset(</font><font color="#0000BB">$info</font><font color="#007700">[</font><font color="#DD0000">"APP13"</font><font color="#007700">])) {<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$iptc </font><font color="#007700">= </font><font color="#0000BB">iptcparse</font><font color="#007700">(</font><font color="#0000BB">$info</font><font color="#007700">[</font><font color="#DD0000">"APP13"</font><font color="#007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">var_dump</font><font color="#007700">(</font><font color="#0000BB">$iptc</font><font color="#007700">);<br />}<br /></font><font color="#0000BB">?&gt;</font>
</font>
</code></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
>
   </P
><P
>&#13;    参见 <A
HREF="function.image-type-to-mime-type.html"
><B
CLASS="function"
>image_type_to_mime_type()</B
></A
>,<A
HREF="function.exif-imagetype.html"
><B
CLASS="function"
>exif_imagetype()</B
></A
>,<A
HREF="function.exif-read-data.html"
><B
CLASS="function"
>exif_read_data()</B
></A
>
    和 <A
HREF="function.exif-thumbnail.html"
><B
CLASS="function"
>exif_thumbnail()</B
></A
>。
   </P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="function.gd-info.html"
ACCESSKEY="P"
>上一页</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>起始页</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="function.image-type-to-extension.html"
ACCESSKEY="N"
>下一页</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>gd_info</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref.image.html"
ACCESSKEY="U"
>上一级</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>image_type_to_extension</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>