root/releases/0.1.2a/units/files/files_mimetype_determine.php

Revision 7, 9.6 kB (checked in by sven, 3 years ago)

snapshot of elgg 0.1.2a

Line 
1 <?php
2
3     // Determines whether or not a file should be displayed inline (false if not, the mime-type if true)
4     // $parameter = the file location
5     
6         $result = @getimagesize($parameter);
7         if ($result != false) {
8             $run_result = image_type_to_mime_type($result[2]);
9         } else {
10             
11     // This needs to be improved to actually look at file contents instead of extension:
12     
13     // Get file extension
14             $run_result = false;
15             $extension = substr($parameter, strrpos($parameter, "."));
16
17     // If it's known, set the mimetype
18             switch($extension) {
19                 case ".mp3":    $run_result = "audio/mpeg"; break;
20                 case ".mp3":    $run_result = "audio/mpeg"; break;
21                 case ".ai":        $run_result = "application/postscript"; break;
22                 
23                 case ".aif":    $run_result = "audio/x-aiff"; break;
24                 
25                 case ".aifc":    $run_result = "audio/x-aiff"; break;
26                 
27                 case ".aiff":    $run_result = "audio/x-aiff"; break;
28                 
29                 case ".asf":    $run_result = "video/x-ms-asf"; break;
30                 
31                 case ".asx":    $run_result = "video/x-ms-asf"; break;
32                 
33                 case ".au":        $run_result = "audio/basic"; break;
34                 
35                 case ".avi":    $run_result = "video/x-msvideo"; break;
36                 
37                 case ".bcpio":    $run_result = "application/x-bcpio"; break;
38                 
39                 case ".bmp":    $run_result = "image/x-xbitmap"; break;
40                 
41                 case ".cdf":    $run_result = "application/x-netcdf"; break;
42                 
43                 case ".cpio":    $run_result = "application/x-cpio"; break;
44                 
45                 case ".cpt":    $run_result = "application/mac-compactpro"; break;
46                 
47                 case ".csh":    $run_result = "application/x-csh"; break;
48                 
49                 case ".css":    $run_result = "text/css"; break;
50                 
51                 case ".dcr":    $run_result = "application/x-director"; break;
52                 
53                 case ".dir":    $run_result = "application/x-director"; break;
54                 
55                 case ".doc":    $run_result = "application/msword"; break;
56                 
57                 case ".dtd":    $run_result = "text/xml"; break;
58                 
59                 case ".dvi":    $run_result = "application/x-dvi"; break;
60                 
61                 case ".dxr":    $run_result = "application/x-director"; break;
62                 
63                 case ".eps":    $run_result = "application/postscript"; break;
64                 
65                 case ".etx":    $run_result = "text/x-setext"; break;
66                 
67                 case ".evy":    $run_result = "application/x-envoy"; break;
68                 
69                 case ".fif":    $run_result = "application/fractals"; break;
70                 
71                 case ".gif":    $run_result = "image/gif"; break;
72                 
73                 case ".gtar":    $run_result = "application/x-gtar"; break;
74                 
75                 case ".gz":    $run_result = "application/x-gzip"; break;
76                 
77                 case ".hdf":    $run_result = "application/x-hdf"; break;
78                 
79                 case ".hpx":    $run_result = "application/mac-binhex40"; break;
80                 
81                 case ".hqx":    $run_result = "application/mac-binhex40"; break;
82                 
83                 case ".htm":    $run_result = "text/html"; break;
84                 
85                 case ".html":    $run_result = "text/html"; break;
86                 
87                 case ".ice":    $run_result = "x-conference/x-cooltalk"; break;
88                 
89                 case ".ief":    $run_result = "image/ief"; break;
90                 
91                 case ".iges":    $run_result = "model/iges"; break;
92                 
93                 case ".igs":    $run_result = "model/iges"; break;
94                 
95                 case ".isv":    $run_result = "bws-internal/intrasrv-urlencoded"; break;
96                 
97                 case ".jfm":    $run_result = "bws-internal/intrasrv-form"; break;
98                 
99                 case ".jpe":    $run_result = "image/jpeg"; break;
100                 
101                 case ".jpeg":    $run_result = "image/jpeg"; break;
102                 
103                 case ".jpg":    $run_result = "image/jpeg"; break;
104                 
105                 case ".jrp":    $run_result = "bws-internal/intrasrv-report"; break;
106                 
107                 case ".js":    $run_result = "application/x-javascript"; break;
108                 
109                 case ".kar":    $run_result = "audio/midi"; break;
110                 
111                 case ".latex":    $run_result = "application/x-latex"; break;
112                 
113                 case ".ls":    $run_result = "application/x-javascript"; break;
114                 
115                 case ".man":    $run_result = "application/x-troff-man"; break;
116                 
117                 case ".me":    $run_result = "application/x-troff-me"; break;
118                 
119                 case ".mesh":    $run_result = "model/mesh"; break;
120                 
121                 case ".mid":    $run_result = "audio/midi"; break;
122                 
123                 case ".midi":    $run_result = "audio/midi"; break;
124                 
125                 case ".mif":    $run_result = "application/x-mif"; break;
126                 
127                 case ".mocha":    $run_result = "application/x-javascript"; break;
128                 
129                 case ".mov":    $run_result = "video/quicktime"; break;
130                 
131                 case ".movie":    $run_result = "video/x-sgi-movie"; break;
132                 
133                 case ".mp2":    $run_result = "audio/mpeg"; break;
134                 
135                 case ".mp3":    $run_result = "audio/mpeg"; break;
136                 
137                 case ".mpe":    $run_result = "video/mpeg"; break;
138                 
139                 case ".mpeg":    $run_result = "video/mpeg"; break;
140                 
141                 case ".mpg":    $run_result = "video/mpeg"; break;
142                 
143                 case ".mpga":    $run_result = "audio/mpeg"; break;
144                 
145                 case ".ms":    $run_result = "application/x-troff-ms"; break;
146                 
147                 case ".msh":    $run_result = "model/mesh"; break;
148                 
149                 case ".nc":    $run_result = "application/x-netcdf"; break;
150                 
151                 case ".oda":    $run_result = "application/oda"; break;
152                 
153                 case ".pac":    $run_result = "application/x-ns-proxy-autoconfig"; break;
154                 
155                 case ".pbm":    $run_result = "image/x-portable-bitmap"; break;
156                 
157                 case ".pdb":    $run_result = "chemical/x-pdb"; break;
158                 
159                 case ".pdf":    $run_result = "application/pdf"; break;
160                 
161                 case ".pgm":    $run_result = "image/x-portable-graymap"; break;
162                 
163                 case ".php3":    $run_result = "application/x-httpd-php3"; break;
164                 
165                 case ".msql2":    $run_result = "application/x-httpd-php-msql2"; break;
166                 
167                 case ".phtml":    $run_result = "application/x-httpd-php"; break;
168                 
169                 case ".png":    $run_result = "image/png"; break;
170                 
171                 case ".pnm":    $run_result = "image/x-portable-anymap"; break;
172                 
173                 case ".ppm":    $run_result = "image/x-portable-pixmap"; break;
174                 
175                 case ".ppt":    $run_result = "application/powerpoint"; break;
176                 
177                 case ".ps":    $run_result = "application/postscript"; break;
178                 
179                 case ".qt":    $run_result = "video/quicktime"; break;
180                 
181                 case ".ra":    $run_result = "audio/x-realaudio"; break;
182                 
183                 case ".ram":    $run_result = "audio/x-pn-realaudio"; break;
184                 
185                 case ".ras":    $run_result = "image/x-cmu-raster"; break;
186                 
187                 case ".rgb":    $run_result = "image/x-rgb"; break;
188                 
189                 case ".roff":    $run_result = "application/x-troff"; break;
190                 
191                 case ".rpm":    $run_result = "audio/x-pn-realaudio-plugin"; break;
192                 
193                 case ".rtf":    $run_result = "application/rtf"; break;
194                 
195                 case ".rtx":    $run_result = "text/richtext"; break;
196                 
197                 case ".sgm":    $run_result = "text/x-sgml"; break;
198                 
199                 case ".sgml":    $run_result = "text/x-sgml"; break;
200                 
201                 case ".sh":    $run_result = "application/x-sh"; break;
202                 
203                 case ".shar":    $run_result = "application/x-shar"; break;
204                 
205                 case ".silo":    $run_result = "model/mesh"; break;
206                 
207                 case ".sit":    $run_result = "application/stuffit"; break;
208                 
209                 case ".sit":    $run_result = "application/x-stuffit"; break;
210                 
211                 case ".skd":    $run_result = "application/x-koan"; break;
212                 
213                 case ".skm":    $run_result = "application/x-koan"; break;
214                 
215                 case ".skp":    $run_result = "application/x-koan"; break;
216                 
217                 case ".skt":    $run_result = "application/x-koan"; break;
218                 
219                 case ".snd":    $run_result = "audio/basic"; break;
220                 
221                 case ".src":    $run_result = "application/x-wais-source"; break;
222                 
223                 case ".sv4cpio":    $run_result = "application/x-sv4cpio"; break;
224                 
225                 case ".sv4crc":    $run_result = "application/x-sv4crc"; break;
226                 
227                 case ".swf":    $run_result = "application/x-shockwave-flash"; break;
228                 
229                 case ".t":    $run_result = "application/x-troff"; break;
230                 
231                 case ".tar":    $run_result = "application/x-tar"; break;
232                 
233                 case ".tcl":    $run_result = "application/x-tcl"; break;
234                 
235                 case ".tex":    $run_result = "application/x-tex"; break;
236                 
237                 case ".texi":    $run_result = "application/x-texinfo"; break;
238                 
239                 case ".texi":    $run_result = "application/x-textinfo"; break;
240                 
241                 case ".texinfo":    $run_result = "application/x-textinfo"; break;
242                 
243                 case ".text":    $run_result = "text/plain"; break;
244                 
245                 case ".tif":    $run_result = "image/tiff"; break;
246                 
247                 case ".tiff":    $run_result = "image/tiff"; break;
248                 
249                 case ".tr":    $run_result = "application/x-troff"; break;
250                 
251                 case ".tsp":    $run_result = "application/dsptype"; break;
252                 
253                 case ".tsv":    $run_result = "text/tab-separated-values"; break;
254                 
255                 case ".txt":    $run_result = "text/plain"; break;
256                 
257                 case ".ustar":    $run_result = "application/x-ustar"; break;
258                 
259                 case ".vcd":    $run_result = "application/x-cdlink"; break;
260                 
261                 case ".vox":    $run_result = "audio/voxware"; break;
262                 
263                 case ".vrml":    $run_result = "model/vrml"; break;
264                 
265                 case ".wav":    $run_result = "audio/x-wav"; break;
266                 
267                 case ".wax":    $run_result = "audio/x-ms-wax"; break;
268                 
269                 case ".wm":    $run_result = "video/x-ms-wm"; break;
270                 
271                 case ".wma":    $run_result = "audio/x-ms-wma"; break;
272                 
273                 case ".wmd":    $run_result = "application/x-ms-wmd"; break;
274                 
275                 case ".wmv":    $run_result = "video/x-ms-wmv"; break;
276                 
277                 case ".wmx":    $run_result = "video/x-ms-wmx"; break;
278                 
279                 case ".wmz":    $run_result = "application/x-ms-wmz"; break;
280                 
281                 case ".wrl":    $run_result = "model/vrml"; break;
282                 
283                 case ".wvx":    $run_result = "video/x-ms-wvx"; break;
284                 
285                 case ".xbm":    $run_result = "image/x-xbitmap"; break;
286                 
287                 case ".xml":    $run_result = "text/xml"; break;
288                 
289                 case ".xpm":    $run_result = "image/x-xpixmap"; break;
290                 
291                 case ".xwd":    $run_result = "image/x-xwindowdump"; break;
292                 
293                 case ".xyz":    $run_result = "chemical/x-pdb"; break;
294                 
295                 case ".z":    $run_result = "application/x-compress"; break;
296                 
297                 case ".zip":    $run_result = "application/zip"; break;
298             }
299             
300         }
301
302 ?>
Note: See TracBrowser for help on using the browser.