summaryrefslogtreecommitdiff
path: root/includes/jpeg_metadata_tk/documentation/exif.html
blob: f67c1fdfa8deca89289543243ddbb6dccbd5c4e3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
<html>
        <head>
                <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1252">
                <link rel=StyleSheet href="style.css" type="text/css">
                <META NAME="keywords" CONTENT="JPEG Metadata Application Segments APP0 APP1 APP2 APP3 APP12 APP13 APP14 EXIF DCF XMP RDF Photoshop IRB IPTC DCMI JFIF">

                <title>The PHP JPEG Metadata Toolkit - Documentation</title>
        </head>

        <body>
                <div class="headerbar">
                        <H1 align="center" style="padding:15">The PHP JPEG Metadata Toolkit - Documentation</H1>
                </div>

                <a href="index.html">Go to Documentation - Home</a>

                <div class="maintext">

                <h2>EXIF and Kodak &quot;Meta&quot; Function Reference</h2>

                <table border cellpadding=8 cellspacing=0>
                        <tr>
                                <td>Function:</td>
                                <td colspan=2><b>get_EXIF_JPEG</b></td>
                        </tr>
                        <tr>
                                <td>Description:</td>
                                <td colspan=2>
                                        Retrieves information from a Exchangeable Image File Format (EXIF)
                                        APP1 segment and returns it in an array. Uses information
                                        supplied by the get_jpeg_header_data function
                                </td>
                        <tr>
                        <tr>
                                <td>Parameters:</td>
                                <td width=1%>filename</td>
                                <td>the filename of the JPEG image to process</td>
                        </tr>
                        <tr>
                                <td rowspan=2>Returns:</td>
                                <td>OutputArray</td>
                                <td>Array of EXIF records</td>
                        </tr>
                        <tr>
                                <td>FALSE</td>
                                <td>If an error occured in decoding</td>
                        </tr>
                </table>


                <br>
                <br>
                <br>
                <br>


                <table border cellpadding=8 cellspacing=0>
                        <tr>
                                <td>Function:</td>
                                <td colspan=2><b>put_EXIF_JPEG</b></td>
                        </tr>
                        <tr>
                                <td>Description:</td>
                                <td colspan=2>
                                        Stores information into a Exchangeable Image File Format (EXIF)
                                        APP1 segment from an EXIF array.<br>
                                        <br>
                                        <b>WARNING</b>: Because the EXIF standard allows pointers to data
                                        outside the APP1 segment, if there are any such pointers in
                                        a makernote, this function will DAMAGE them since it will not
                                        be aware that there is an external pointer. This will often
                                        happen with Makernotes that include an embedded thumbnail.
                                        This damage could be prevented where makernotes can be decoded,
                                        but currently this is not implemented.
                                </td>
                        <tr>
                        <tr>
                                <td rowspan=2>Parameters:</td>
                                <td width=1%>exif_data</td>
                                <td>The array of EXIF data to insert into the JPEG header</td>
                        </tr>
                        <tr>
                                <td width=1%>jpeg_header_data</td>
                                <td>The JPEG header into which the EXIF data should be stored, as from get_jpeg_header_data</td>
                        </tr>
                        <tr>
                                <td rowspan=2>Returns:</td>
                                <td>jpeg_header_data</td>
                                <td>JPEG header array with the EXIF segment inserted</td>
                        </tr>
                        <tr>
                                <td>FALSE</td>
                                <td>If an error occured</td>
                        </tr>
                </table>


                <br>
                <br>
                <br>
                <br>

                <table border cellpadding=8 cellspacing=0>
                        <tr>
                                <td>Function:</td>
                                <td colspan=2><b>get_Meta_JPEG</b></td>
                        </tr>
                        <tr>
                                <td>Description:</td>
                                <td colspan=2>
                                        <p>
                                                Retrieves information from a Meta APP3 segment and returns it
                                                in an array. Uses information supplied by the
                                                get_jpeg_header_data function.
                                        </p>
                                        <p>
                                                The Meta segment has the same format as an EXIF segment, but
                                                uses different tags
                                        </p>
                                </td>
                        <tr>
                        <tr>
                                <td>Parameters:</td>
                                <td width=1%>filename</td>
                                <td>the filename of the JPEG image to process</td>
                        </tr>
                        <tr>
                                <td rowspan=2>Returns:</td>
                                <td>OutputArray</td>
                                <td>Array of Meta records</td>
                        </tr>
                        <tr>
                                <td>FALSE</td>
                                <td>If an error occured in decoding</td>
                        </tr>
                </table>


                <br>
                <br>
                <br>
                <br>

                <table border cellpadding=8 cellspacing=0>
                        <tr>
                                <td>Function:</td>
                                <td colspan=2><b>put_Meta_JPEG</b></td>
                        </tr>
                        <tr>
                                <td>Description:</td>
                                <td colspan=2>
                                        Stores information into a Meta APP3 segment from a Meta array.<br>
                                        <br>
                                        <b>WARNING</b>: Because the Meta (EXIF) standard allows pointers to data
                                        outside the APP1 segment, if there are any such pointers in
                                        a makernote, this function will DAMAGE them since it will not
                                        be aware that there is an external pointer.
                                </td>
                        <tr>
                        <tr>
                                <td rowspan=2>Parameters:</td>
                                <td width=1%>meta_data</td>
                                <td>The array of Meta data to insert into the JPEG header</td>
                        </tr>
                        <tr>
                                <td width=1%>jpeg_header_data</td>
                                <td>The JPEG header into which the Meta data should be stored, as from get_jpeg_header_data</td>
                        </tr>
                        <tr>
                                <td rowspan=2>Returns:</td>
                                <td>jpeg_header_data</td>
                                <td>JPEG header array with the Meta segment inserted</td>
                        </tr>
                        <tr>
                                <td>FALSE</td>
                                <td>If an error occured</td>
                        </tr>
                </table>

                <br>
                <br>
                <br>
                <br>

                <table border cellpadding=8 cellspacing=0>
                        <tr>
                                <td>Function:</td>
                                <td colspan=2><b>get_EXIF_TIFF</b></td>
                        </tr>
                        <tr>
                                <td>Description:</td>
                                <td colspan=2>
                                        <p>
                                                Retrieves information from a Exchangeable Image File Format (EXIF)
                                                within a TIFF file and returns it in an array.
                                        </p>
                                </td>
                        <tr>
                        <tr>
                                <td rowspan=1>Parameters:</td>
                                <td width=1%>filename</td>
                                <td>the filename of the TIFF image to process </td>
                        </tr>
                        <tr>
                                <td rowspan=2>Returns:</td>
                                <td>OutputArray</td>
                                <td>Array of EXIF records</td>
                        </tr>
                        <tr>
                                <td>FALSE</td>
                                <td>If an error occured in decoding</td>
                        </tr>
                </table>

                <br>
                <br>
                <br>
                <br>

                <table border cellpadding=8 cellspacing=0>
                        <tr>
                                <td>Function:</td>
                                <td colspan=2><b>Interpret_EXIF_to_HTML</b></td>
                        </tr>
                        <tr>
                                <td>Description:</td>
                                <td colspan=2>
                                        <p>
                                                Generates html detailing the contents an APP1 EXIF array
                                                which was retrieved with a get_EXIF_JPEG function.
                                                Can also be used for APP3 Meta arrays.
                                        </p>
                                </td>
                        <tr>
                        <tr>
                                <td rowspan=2>Parameters:</td>
                                <td width=1%>Exif_array</td>
                                <td>the EXIF array,as read from get_EXIF_JPEG</td>
                        </tr>
                        <tr>
                                <td width=1%>filename</td>
                                <td>the name of the Image file being processed (used by scripts which displays EXIF thumbnails)</td>
                        </tr>
                        <tr>
                                <td rowspan=1>Returns:</td>
                                <td>output_str</td>
                                <td> A string containing the HTML</td>
                        </tr>
                </table>


                <h3>Notes:</h3>
                <p>
                        Unfortunately, because EXIF data may be distributed anywhere
                        throughout an image file, rather than just being in one block,
                        it is impossible to pass just a string containing only the EXIF
                        information. Hence it is neccessary to be able to seek to
                        any point in the file. This causes the HTTP and FTP wrappers
                        not to work - i.e. the EXIF functions will only work with local
                        files.
                </p>
                        To work on an internet file, copy it locally to start with:
                </p>
                <blockquote>
                        $newfilename = tempnam ( $dir, "tmpexif" );<br>
                        copy ( "http://whatever.com", $newfilename );
                </blockquote>

                <p>
                        There are three global variables which can be set to alter the look of any HTML
                        output from Interpret_EXIF_to_HTML:
                </p>
                <blockquote>
                        $GLOBALS['HIDE_UNKNOWN_TAGS'];<br>
                        $GLOBALS['SHOW_BINARY_DATA_HEX'];<br>
                        $GLOBALS['SHOW_BINARY_DATA_TEXT'];
                </blockquote>
                <p>These variables are all boolean and all default to FALSE</p>


                </div>

        </body>
</html>