mirror of
https://github.com/sigmasternchen/php-doc-en
synced 2025-03-16 00:48:54 +00:00
Rewrote all exif functions to follow the new style and coding standards. Because this will be
used as a model even WS changes exist. Some content changes as well. git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@166722 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
parent
55e504a343
commit
9226798fe3
5 changed files with 488 additions and 318 deletions
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision: 1.1 $ -->
|
||||
<!-- $Revision: 1.2 $ -->
|
||||
<!-- splitted from ./en/functions/image.xml, last change in rev 1.81 -->
|
||||
<refentry id="function.exif-imagetype">
|
||||
<refnamediv>
|
||||
|
@ -10,31 +10,76 @@
|
|||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<type>int</type><methodname>exif_imagetype</methodname>
|
||||
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
|
||||
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<function>exif_imagetype</function> reads the first bytes of an image and
|
||||
checks its signature.
|
||||
</para>
|
||||
<note>
|
||||
<para>
|
||||
Support for <acronym>JPC</acronym>, <acronym>JP2</acronym>,
|
||||
<acronym>JPX</acronym>, <acronym>JB2</acronym>,
|
||||
<acronym>XBM</acronym>, and <acronym>WBMP</acronym> became available in
|
||||
PHP 4.3.2. Support for <acronym>SWC</acronym> as of PHP 4.3.0.
|
||||
</para>
|
||||
</note>
|
||||
<para>
|
||||
This function can be used to avoid calls to other exif functions with
|
||||
unsupported file types or in conjunction with
|
||||
<varname>$_SERVER['HTTP_ACCEPT']</varname> to check whether or
|
||||
not the viewer is able to see a specific image in the browser.
|
||||
<function>exif_imagetype</function> can be used to avoid calls to other
|
||||
<link linkend="ref.exif">exif</link> functions with unsupported file types
|
||||
or in conjunction with <varname>$_SERVER['HTTP_ACCEPT']</varname> to check
|
||||
whether or not the viewer is able to see a specific image in the browser.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1>
|
||||
&reftitle.parameters;
|
||||
<para>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>filename</parameter></term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
The image being checked.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1>
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
When a correct signature is found, the appropriate constant value will be
|
||||
returned otherwise the return value is &false;. The return value is the
|
||||
same value that <function>getimagesize</function> returns in index 2 but
|
||||
<function>exif_imagetype</function> is much faster.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1>
|
||||
&reftitle.changelog;
|
||||
<para>
|
||||
<informaltable>
|
||||
<tgroup cols="2">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>&Version;</entry>
|
||||
<entry>&Description;</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>4.3.2</entry>
|
||||
<entry>
|
||||
Support for <acronym>JPC</acronym>, <acronym>JP2</acronym>,
|
||||
<acronym>JPX</acronym>, <acronym>JB2</acronym>,
|
||||
<acronym>XBM</acronym>, and <acronym>WBMP</acronym>
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>4.3.0</entry>
|
||||
<entry>Support for <acronym>SWC</acronym></entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1>
|
||||
&reftitle.constants;
|
||||
<para>
|
||||
The following constants are defined and represent possible
|
||||
The following constants are defined, and represent possible
|
||||
<function>exif_imagetype</function> return values:
|
||||
<table>
|
||||
<title>Imagetype Constants</title>
|
||||
|
@ -117,15 +162,6 @@
|
|||
</table>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1>
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
When a correct signature is found the appropriate constant value will be
|
||||
returned otherwise the return value is &false;. The return value is the
|
||||
same value that <function>getimagesize</function> returns in index 2 but
|
||||
this function is much faster.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1>
|
||||
&reftitle.examples;
|
||||
<para>
|
||||
|
@ -134,8 +170,8 @@
|
|||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
if (exif_imagetype("image.gif") != IMAGETYPE_GIF) {
|
||||
echo "The picture is not a gif";
|
||||
if (exif_imagetype('image.gif') != IMAGETYPE_GIF) {
|
||||
echo 'The picture is not a gif';
|
||||
}
|
||||
?>
|
||||
]]>
|
||||
|
@ -170,4 +206,4 @@ End:
|
|||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
||||
-->
|
|
@ -1,177 +1,231 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision: 1.2 $ -->
|
||||
<!-- $Revision: 1.3 $ -->
|
||||
<!-- splitted from ./en/functions/image.xml, last change in rev 1.78 -->
|
||||
<refentry id="function.exif-read-data">
|
||||
<refnamediv>
|
||||
<refname>exif_read_data</refname>
|
||||
<refpurpose>Reads the <acronym>EXIF</acronym> headers from <acronym>JPEG</acronym>
|
||||
or <acronym>TIFF</acronym></refpurpose>
|
||||
</refnamediv>
|
||||
<refsect1>
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<type>array</type><methodname>exif_read_data</methodname>
|
||||
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
|
||||
<methodparam choice="opt"><type>string</type><parameter>sections</parameter></methodparam>
|
||||
<methodparam choice="opt"><type>bool</type><parameter>arrays</parameter></methodparam>
|
||||
<methodparam choice="opt"><type>bool</type><parameter>thumbnail</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
The <function>exif_read_data</function> function reads the
|
||||
<acronym>EXIF</acronym> headers from a <acronym>JPEG</acronym> or
|
||||
<acronym>TIFF</acronym> image file. This way you can read meta data
|
||||
generated by digital cameras.
|
||||
</para>
|
||||
<para>
|
||||
<parameter>filename</parameter> is the name of the file to read. This
|
||||
cannot be a URL.
|
||||
</para>
|
||||
<para>
|
||||
<parameter>sections</parameter> is a comma separated list of sections that
|
||||
need to be present in file to produce a result array. If none of the
|
||||
requested sections could be found the return value is &false;.
|
||||
<informaltable>
|
||||
<tgroup cols="2">
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>FILE</entry>
|
||||
<entry>FileName, FileSize, FileDateTime, SectionsFound</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>COMPUTED</entry>
|
||||
<entry>html, Width, Height, IsColor and some more if available.
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>ANY_TAG</entry>
|
||||
<entry>Any information that has a Tag e.g. IFD0, EXIF, ...</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>IFD0</entry>
|
||||
<entry>All tagged data of IFD0. In normal imagefiles this contains
|
||||
image size and so forth.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>THUMBNAIL</entry>
|
||||
<entry>A file is supposed to contain a thumbnail if it has a second IFD.
|
||||
All tagged information about the embedded thumbnail is stored in this
|
||||
section.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>COMMENT</entry>
|
||||
<entry>Comment headers of JPEG images.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>EXIF</entry>
|
||||
<entry>The EXIF section is a sub section of IFD0. It contains
|
||||
more detailed information about an image. Most of these entries
|
||||
are digital camera related.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
</para>
|
||||
<para>
|
||||
<parameter>arrays</parameter> specifies whether or not each section
|
||||
becomes an array. The sections <emphasis>COMPUTED</emphasis>,
|
||||
<emphasis>THUMBNAIL</emphasis> and <emphasis>COMMENT</emphasis> always
|
||||
become arrays as they may contain values whose names are conflict
|
||||
with other sections.
|
||||
</para>
|
||||
<para>
|
||||
<parameter>thumbnail</parameter> whether or not to read the thumbnail
|
||||
itself and not only its tagged data.
|
||||
</para>
|
||||
<note>
|
||||
<para>
|
||||
Exif headers tend to be present in JPEG/TIFF images generated by digital
|
||||
cameras, but unfortunately each digital camera maker has a different
|
||||
idea of how to actually tag their images, so you can't always rely on
|
||||
a specific Exif header being present.
|
||||
</para>
|
||||
<para>
|
||||
Windows ME/XP both can wipe the Exif headers when connecting to a camera.
|
||||
More information available at <ulink
|
||||
url="&url.winexif;">&url.winexif;</ulink>.
|
||||
</para>
|
||||
</note>
|
||||
<note>
|
||||
<para>
|
||||
If the image contains any IFD0 data then COMPUTED contains the entry
|
||||
ByteOrderMotorola which is 0 for little-endian (intel) and 1 for
|
||||
big-endian (motorola) byte order. This was added in PHP 4.3.0.
|
||||
</para>
|
||||
<para>
|
||||
When an Exif header contains a Copyright note this itself can contain two
|
||||
values. As the solution is inconsistent in the Exif 2.10 standard the COMPUTED
|
||||
section will return both entries <emphasis>Copyright.Photographer</emphasis>
|
||||
and <emphasis>Copyright.Editor</emphasis> while the IFD0 sections contains
|
||||
the byte array with the NULL character that splits both entries. Or just the
|
||||
first entry if the datatype was wrong (normal behaviour of Exif). The
|
||||
COMPUTED will contain also an entry <emphasis>Copyright</emphasis> Which
|
||||
is either the original copyright string or it is a comma separated list of
|
||||
photo and editor copyright.
|
||||
</para>
|
||||
</note>
|
||||
<note>
|
||||
<para>
|
||||
The tag UserComment has the same problem as the Copyright tag. It can store
|
||||
two values first the encoding used and second the value itself. If so the
|
||||
IFD section only contains the encoding or a byte array. The COMPUTED section
|
||||
will store both in the entries <emphasis>UserCommentEncoding</emphasis> and
|
||||
<emphasis>UserComment</emphasis>. The entry <emphasis>UserComment</emphasis>
|
||||
is available in both cases so it should be used in preference to the value
|
||||
in IFD0 section.
|
||||
</para>
|
||||
<para>
|
||||
If the user comment uses Unicode or JIS encoding and the module mbstring is
|
||||
available this encoding will automatically changed according to the exif
|
||||
ini settings in the &php.ini;. This was added in PHP 4.3.0.
|
||||
</para>
|
||||
</note>
|
||||
<note>
|
||||
<para>
|
||||
Height and Width are computed the same way <function>getimagesize</function>
|
||||
does so their values must not be part of any header returned. Also html is
|
||||
a height/width text string to be used inside normal <acronym>HTML</acronym>.
|
||||
</para>
|
||||
</note>
|
||||
<note>
|
||||
<para>
|
||||
Starting from PHP 4.3.0, the function can read all embedded
|
||||
<acronym>IFD</acronym> data including arrays (returned as such). Also
|
||||
the size of an embedded thumbnail is returned in
|
||||
<emphasis>THUMBNAIL</emphasis> subarray and the function
|
||||
<function>exif_read_data</function> can return thumbnails in
|
||||
<acronym>TIFF</acronym> format. Also as of PHP 4.3.0 there is no longer
|
||||
a maximum length for returned values (not until memory limit is reached).
|
||||
</para>
|
||||
</note>
|
||||
<simpara>
|
||||
Since PHP 4.3,0 user comment can automatically change encoding if PHP was
|
||||
compiled using <option role="configure">--enable-mbstring</option>.
|
||||
</simpara>
|
||||
</refsect1>
|
||||
<refsect1>
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
It returns an associative <type>array</type> where the array indexes are
|
||||
the header names and the array values are the values associated with
|
||||
those headers. If no data can be returned,
|
||||
<function>exif_read_data</function> will return &false;.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1>
|
||||
&reftitle.examples;
|
||||
<para>
|
||||
<example>
|
||||
<title><function>exif_read_data</function> example</title>
|
||||
<programlisting role="php">
|
||||
<refentry id="function.exif-read-data">
|
||||
<refnamediv>
|
||||
<refname>exif_read_data</refname>
|
||||
<refpurpose>Reads the <acronym>EXIF</acronym> headers from <acronym>JPEG</acronym> or <acronym>TIFF</acronym></refpurpose>
|
||||
</refnamediv>
|
||||
<refsect1>
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<type>array</type><methodname>exif_read_data</methodname>
|
||||
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
|
||||
<methodparam choice="opt"><type>string</type><parameter>sections</parameter></methodparam>
|
||||
<methodparam choice="opt"><type>bool</type><parameter>arrays</parameter></methodparam>
|
||||
<methodparam choice="opt"><type>bool</type><parameter>thumbnail</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
The <function>exif_read_data</function> function reads the
|
||||
<acronym>EXIF</acronym> headers from a <acronym>JPEG</acronym> or
|
||||
<acronym>TIFF</acronym> image file. This way you can read meta data
|
||||
generated by digital cameras.
|
||||
</para>
|
||||
<para>
|
||||
Exif headers tend to be present in JPEG/TIFF images generated by digital
|
||||
cameras, but unfortunately each digital camera maker has a different
|
||||
idea of how to actually tag their images, so you can't always rely on
|
||||
a specific Exif header being present.
|
||||
</para>
|
||||
<para>
|
||||
<emphasis>Height</emphasis> and <emphasis>Width</emphasis> are computed the
|
||||
same way <function>getimagesize</function> does so their values must not be
|
||||
part of any header returned. Also, <emphasis>html</emphasis> is a
|
||||
height/width text string to be used inside normal <acronym>HTML</acronym>.
|
||||
</para>
|
||||
<para>
|
||||
When an Exif header contains a Copyright note, this itself can contain two
|
||||
values. As the solution is inconsistent in the Exif 2.10 standard, the COMPUTED
|
||||
section will return both entries <emphasis>Copyright.Photographer</emphasis>
|
||||
and <emphasis>Copyright.Editor</emphasis> while the IFD0 sections contains
|
||||
the byte array with the NULL character that splits both entries. Or just the
|
||||
first entry if the datatype was wrong (normal behaviour of Exif). The
|
||||
COMPUTED will also contain the entry <emphasis>Copyright</emphasis> which
|
||||
is either the original copyright string, or a comma separated list of the
|
||||
photo and editor copyright.
|
||||
</para>
|
||||
<para>
|
||||
The tag UserComment has the same problem as the Copyright tag. It can store
|
||||
two values. First the encoding used, and second the value itself. If so the
|
||||
IFD section only contains the encoding or a byte array. The COMPUTED section
|
||||
will store both in the entries <emphasis>UserCommentEncoding</emphasis> and
|
||||
<emphasis>UserComment</emphasis>. The entry <emphasis>UserComment</emphasis>
|
||||
is available in both cases so it should be used in preference to the value
|
||||
in IFD0 section.
|
||||
</para>
|
||||
<note>
|
||||
<para>
|
||||
Windows ME/XP can both wipe the Exif headers when connecting to a camera.
|
||||
More information available at <ulink url="&url.winexif;">&url.winexif;</ulink>.
|
||||
</para>
|
||||
</note>
|
||||
</refsect1>
|
||||
<refsect1>
|
||||
&reftitle.parameters;
|
||||
<para>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>filename</parameter></term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
The name of the image file being read. This cannot be an
|
||||
<acronym>URL</acronym>.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>sections</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Is a comma separated list of sections that need to be present in file
|
||||
to produce a result <type>array</type>. If none of the requested
|
||||
sections could be found the return value is &false;.
|
||||
<informaltable>
|
||||
<tgroup cols="2">
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>FILE</entry>
|
||||
<entry>FileName, FileSize, FileDateTime, SectionsFound</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>COMPUTED</entry>
|
||||
<entry>
|
||||
html, Width, Height, IsColor, and more if available. Height and
|
||||
Width are computed the same way <function>getimagesize</function>
|
||||
does so their values must not be part of any header returned.
|
||||
Also, html is a height/width text string to be used inside normal
|
||||
<acronym>HTML</acronym>.
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>ANY_TAG</entry>
|
||||
<entry>Any information that has a Tag e.g. IFD0, EXIF, ...</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>IFD0</entry>
|
||||
<entry>
|
||||
All tagged data of IFD0. In normal imagefiles this contains
|
||||
image size and so forth.
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>THUMBNAIL</entry>
|
||||
<entry>
|
||||
A file is supposed to contain a thumbnail if it has a second IFD.
|
||||
All tagged information about the embedded thumbnail is stored in
|
||||
this section.
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>COMMENT</entry>
|
||||
<entry>Comment headers of JPEG images.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>EXIF</entry>
|
||||
<entry>
|
||||
The EXIF section is a sub section of IFD0. It contains
|
||||
more detailed information about an image. Most of these entries
|
||||
are digital camera related.
|
||||
</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>arrays</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies whether or not each section becomes an array. The
|
||||
<parameter>sections</parameter> <emphasis>COMPUTED</emphasis>,
|
||||
<emphasis>THUMBNAIL</emphasis>, and <emphasis>COMMENT</emphasis>
|
||||
always become arrays as they may contain values whose names conflict
|
||||
with other sections.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>thumbnail</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
When set to &true; the thumbnail itself is read. Otherwise, only the
|
||||
tagged data is read.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1>
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
It returns an associative <type>array</type> where the array indexes are
|
||||
the header names and the array values are the values associated with
|
||||
those headers. If no data can be returned,
|
||||
<function>exif_read_data</function> will return &false;.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1>
|
||||
&reftitle.changelog;
|
||||
<para>
|
||||
<informaltable>
|
||||
<tgroup cols="2">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>&Version;</entry>
|
||||
<entry>&Description;</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>4.3.0</entry>
|
||||
<entry>
|
||||
Can read all embedded <acronym>IFD</acronym> data including arrays
|
||||
(returned as such). Also the size of an embedded thumbnail is
|
||||
returned in a <emphasis>THUMBNAIL</emphasis> subarray, and can
|
||||
return thumbnails in <acronym>TIFF</acronym> format. Also, there is
|
||||
no longer a maximum length for returned values (not until the memory
|
||||
limit has been reached)
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>4.3.0</entry>
|
||||
<entry>
|
||||
If PHP has <link linkend="ref.mbstring">mbstring</link> support,
|
||||
the user comment can automatically change encoding. Also, if the
|
||||
user comment uses Unicode or JIS encoding this encoding will
|
||||
automatically be changed according to the exif ini settings in
|
||||
&php.ini;
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>4.3.0</entry>
|
||||
<entry>
|
||||
If the image contains any IFD0 data then COMPUTED contains the entry
|
||||
ByteOrderMotorola which is 0 for little-endian (intel) and 1 for
|
||||
big-endian (motorola) byte order. Also, COMPUTED and UserComment no
|
||||
longer only contain the first copyright entry if the datatype was
|
||||
wrong.
|
||||
</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1>
|
||||
&reftitle.examples;
|
||||
<para>
|
||||
<example>
|
||||
<title><function>exif_read_data</function> example</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
echo "test1.jpg:<br />\n";
|
||||
$exif = exif_read_data('tests/test1.jpg', 'IFD0');
|
||||
echo $exif===false ? "No header data found.<br />\n" : "Image contains headers<br />";
|
||||
echo $exif===false ? "No header data found.<br />\n" : "Image contains headers<br />\n";
|
||||
|
||||
$exif = exif_read_data('tests/test2.jpg', 0, true);
|
||||
echo "test2.jpg:<br />\n";
|
||||
|
@ -182,11 +236,11 @@ foreach ($exif as $key => $section) {
|
|||
}
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
<para>
|
||||
The first call fails because the image has no header information.
|
||||
</para>
|
||||
<screen role="php">
|
||||
</programlisting>
|
||||
<para>
|
||||
The first call fails because the image has no header information.
|
||||
</para>
|
||||
<screen role="php">
|
||||
<![CDATA[
|
||||
test1.jpg:
|
||||
No header data found.
|
||||
|
@ -217,18 +271,18 @@ THUMBNAIL.JPEGInterchangeFormat: 134
|
|||
THUMBNAIL.Thumbnail.Height: 1
|
||||
THUMBNAIL.Thumbnail.Height: 1
|
||||
]]>
|
||||
</screen>
|
||||
</example>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1>
|
||||
&reftitle.seealso;
|
||||
<para>
|
||||
<function>exif_thumbnail</function>&listendand;
|
||||
<function>getimagesize</function>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
||||
</screen>
|
||||
</example>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1>
|
||||
&reftitle.seealso;
|
||||
<para>
|
||||
<function>exif_thumbnail</function>&listendand;
|
||||
<function>getimagesize</function>
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
|
|
|
@ -1,33 +1,49 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision: 1.1 $ -->
|
||||
<refentry id="function.exif-tagname">
|
||||
<refnamediv>
|
||||
<refname>exif_tagname</refname>
|
||||
<refpurpose>Get the header name for an index</refpurpose>
|
||||
</refnamediv>
|
||||
<refsect1>
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<type>string</type><methodname>exif_tagname</methodname> <methodparam><type>string</type><parameter>index</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<!-- $Revision: 1.2 $ -->
|
||||
<refentry id="function.exif-tagname">
|
||||
<refnamediv>
|
||||
<refname>exif_tagname</refname>
|
||||
<refpurpose>Get the header name for an index</refpurpose>
|
||||
</refnamediv>
|
||||
<refsect1>
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<type>string</type><methodname>exif_tagname</methodname>
|
||||
<methodparam><type>string</type><parameter>index</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
|
||||
&warn.undocumented.func;
|
||||
&warn.undocumented.func;
|
||||
|
||||
</refsect1>
|
||||
<refsect1>
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
Returns &false; if <parameter>index</parameter> is undefined otherwise
|
||||
the header name is returned.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1>
|
||||
&reftitle.seealso;
|
||||
<para>
|
||||
<function>exif_imagetype</function>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
||||
</refsect1>
|
||||
<refsect1>
|
||||
&reftitle.parameters;
|
||||
<para>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>index</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
The image index
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1>
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
Returns the header name, or &false; if <parameter>index</parameter> is
|
||||
undefined.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1>
|
||||
&reftitle.seealso;
|
||||
<para>
|
||||
<function>exif_imagetype</function>
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
|
|
|
@ -1,56 +1,120 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision: 1.2 $ -->
|
||||
<!-- $Revision: 1.3 $ -->
|
||||
<!-- splitted from ./en/functions/image.xml, last change in rev 1.78 -->
|
||||
<refentry id="function.exif-thumbnail">
|
||||
<refnamediv>
|
||||
<refname>exif_thumbnail</refname>
|
||||
<refpurpose>Retrieve the embedded thumbnail of a TIFF or JPEG image</refpurpose>
|
||||
</refnamediv>
|
||||
<refsect1>
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<type>string</type><methodname>exif_thumbnail</methodname>
|
||||
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
|
||||
<methodparam choice="opt"><type>int</type><parameter>&width</parameter></methodparam>
|
||||
<methodparam><type>int</type><parameter>&height</parameter></methodparam>
|
||||
<methodparam choice="opt"><type>int</type><parameter>&imagetype</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<function>exif_thumbnail</function> reads the embedded thumbnail of a
|
||||
<acronym>TIFF</acronym> or <acronym>JPEG</acronym> image.
|
||||
</para>
|
||||
<para>
|
||||
If you want to deliver thumbnails through this function, you should send
|
||||
the mimetype information using the <function>header</function> function.
|
||||
</para>
|
||||
<para>
|
||||
The parameters <parameter>width</parameter>,
|
||||
<parameter>height</parameter> and <parameter>imagetype</parameter> are
|
||||
available since PHP 4.3.0 and return the size of the thumbnail as well
|
||||
as its type. It is possible that <function>exif_thumbnail</function>
|
||||
cannot create an image but can determine its size. In this case, the
|
||||
return value is &false; but <parameter>width</parameter> and
|
||||
<parameter>height</parameter> are set.
|
||||
</para>
|
||||
<para>
|
||||
Starting from version PHP 4.3.0, the function
|
||||
<function>exif_thumbnail</function> can return thumbnails in
|
||||
<acronym>TIFF</acronym> format.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1>
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
If the image contains no thumbnail, &false; will be returned. Otherwise
|
||||
the embedded thumbnail is returned.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1>
|
||||
&reftitle.examples;
|
||||
<para>
|
||||
<example>
|
||||
<title><function>exif_thumbnail</function> example</title>
|
||||
<programlisting role="php">
|
||||
<refentry id="function.exif-thumbnail">
|
||||
<refnamediv>
|
||||
<refname>exif_thumbnail</refname>
|
||||
<refpurpose>Retrieve the embedded thumbnail of a TIFF or JPEG image</refpurpose>
|
||||
</refnamediv>
|
||||
<refsect1>
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<type>string</type><methodname>exif_thumbnail</methodname>
|
||||
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
|
||||
<methodparam choice="opt"><type>int</type><parameter role="reference">width</parameter></methodparam>
|
||||
<methodparam choice="opt"><type>int</type><parameter role="reference">height</parameter></methodparam>
|
||||
<methodparam choice="opt"><type>int</type><parameter role="reference">imagetype</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<function>exif_thumbnail</function> reads the embedded thumbnail of a
|
||||
<acronym>TIFF</acronym> or <acronym>JPEG</acronym> image.
|
||||
</para>
|
||||
<para>
|
||||
If you want to deliver thumbnails through this function, you should send
|
||||
the mimetype information using the <function>header</function> function.
|
||||
</para>
|
||||
<para>
|
||||
It is possible that <function>exif_thumbnail</function> cannot create an
|
||||
image but can determine its size. In this case, the return value is
|
||||
&false; but <parameter>width</parameter> and <parameter>height</parameter>
|
||||
are set.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1>
|
||||
&reftitle.parameters;
|
||||
<para>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>filename</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
The name of the image file being read. This image contains an
|
||||
embedded thumbnail.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>width</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
The return width of the returned thumbnail.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>height</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
The returned height of the returned thumbnail.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>imagetype</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
The returned image type of the returned thumbnail. This is either
|
||||
<acronym>TIFF</acronym> or <acronym>JPEG</acronym>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1>
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
Returns the embedded thumbnail, or &false; if the image contains no
|
||||
thumbnail.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1>
|
||||
&reftitle.changelog;
|
||||
<para>
|
||||
<informaltable>
|
||||
<tgroup cols="2">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>&Version;</entry>
|
||||
<entry>&Description;</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>4.3.0</entry>
|
||||
<entry>
|
||||
The optional parameters <parameter>width</parameter>,
|
||||
<parameter>height</parameter>, and <parameter>imagetype</parameter>
|
||||
all became available.
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>4.3.0</entry>
|
||||
<entry>
|
||||
May return thumbnails in the <acronym>TIFF</acronym> format.
|
||||
</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1>
|
||||
&reftitle.examples;
|
||||
<para>
|
||||
<example>
|
||||
<title><function>exif_thumbnail</function> example</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
if (array_key_exists('file', $_REQUEST)) {
|
||||
|
@ -59,27 +123,27 @@ if (array_key_exists('file', $_REQUEST)) {
|
|||
$image = false;
|
||||
}
|
||||
if ($image!==false) {
|
||||
header("Content-type: " .image_type_to_mime_type($type));
|
||||
header('Content-type: ' .image_type_to_mime_type($type));
|
||||
echo $image;
|
||||
exit;
|
||||
} else {
|
||||
// no thumbnail available, handle the error here
|
||||
echo "No thumbnail available";
|
||||
echo 'No thumbnail available';
|
||||
}
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1>
|
||||
&reftitle.seealso;
|
||||
<para>
|
||||
<function>exif_read_data</function>&listendand;
|
||||
<function>image_type_to_mime_type</function>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
||||
</programlisting>
|
||||
</example>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1>
|
||||
&reftitle.seealso;
|
||||
<para>
|
||||
<function>exif_read_data</function>&listendand;
|
||||
<function>image_type_to_mime_type</function>
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
|
@ -100,4 +164,4 @@ End:
|
|||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
||||
-->
|
|
@ -1,18 +1,18 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision: 1.1 $ -->
|
||||
<!-- $Revision: 1.2 $ -->
|
||||
<!-- splitted from ./en/functions/image.xml, last change in rev 1.78 -->
|
||||
<refentry id="function.read-exif-data">
|
||||
<refnamediv>
|
||||
<refname>read_exif_data</refname>
|
||||
<refpurpose>Alias of <function>exif_read_data</function></refpurpose>
|
||||
</refnamediv>
|
||||
<refsect1>
|
||||
<title>Description</title>
|
||||
<para>
|
||||
This function is an alias of <function>exif_read_data</function>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
||||
<refentry id="function.read-exif-data">
|
||||
<refnamediv>
|
||||
<refname>read_exif_data</refname>
|
||||
<refpurpose>Alias of <function>exif_read_data</function></refpurpose>
|
||||
</refnamediv>
|
||||
<refsect1>
|
||||
&reftitle.description;
|
||||
<para>
|
||||
This function is an alias of <function>exif_read_data</function>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
|
|
Loading…
Reference in a new issue