source: spip-zone/_core_/plugins/medias/metadata/image.php

Last change on this file was 116005, checked in by cedric@…, 4 months ago

SVG est une image comme les autres : ajoute le support pour l'upload de SVG

File size: 1.7 KB
Line 
1<?php
2
3/***************************************************************************\
4 *  SPIP, Systeme de publication pour l'internet                           *
5 *                                                                         *
6 *  Copyright (c) 2001-2019                                                *
7 *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
8 *                                                                         *
9 *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
10 *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
11\***************************************************************************/
12
13if (!defined('_ECRIRE_INC_VERSION')) {
14        return;
15}
16
17function metadata_image_dist($fichier) {
18        $meta = array();
19
20        if ($size_image = @spip_getimagesize($fichier)) {
21                $meta['largeur'] = intval($size_image[0]);
22                $meta['hauteur'] = intval($size_image[1]);
23                $meta['type_image'] = decoder_type_image($size_image[2]);
24        }
25
26        return $meta;
27}
28
29/**
30 * Convertit le type numerique retourne par getimagesize() en extension fichier
31 *
32 * @param int $type
33 * @param bool $strict
34 * @return string
35 */
36// https://code.spip.net/@decoder_type_image
37function decoder_type_image($type, $strict = false) {
38        switch ($type) {
39                case IMAGETYPE_GIF:
40                        return 'gif';
41                case IMAGETYPE_JPEG:
42                        return 'jpg';
43                case IMAGETYPE_PNG:
44                        return 'png';
45                case IMAGETYPE_SWF:
46                        return $strict ? '' : 'swf';
47                case IMAGETYPE_PSD:
48                        return 'psd';
49                case IMAGETYPE_BMP:
50                        return 'bmp';
51                case IMAGETYPE_TIFF_II:
52                case IMAGETYPE_TIFF_MM:
53                        return 'tif';
54                case IMAGETYPE_WEBP:
55                        return 'webp';
56                case IMAGETYPE_SVG:
57                        return $strict ? '' : 'svg';
58                default:
59                        return '';
60        }
61}
Note: See TracBrowser for help on using the repository browser.