PHP 5.6.0beta1 released

getimagesizefromstring

(PHP 5 >= 5.4.0)

getimagesizefromstringRécupère la taille d'une image depuis une chaîne

Description

array getimagesizefromstring ( string $imagedata [, array &$imageinfo ] )

Identique à la fonction getimagesize() excepté le fait que la fonction getimagesizefromstring() accepte une chaîne au lieu d'un nom de fichier comme premier paramètre.

Voir la documentation sur la fonction getimagesize() pour plus de détails sur la façon dont cette fonction marche.

Liste de paramètres

imagedata

Les données de l'image, sous la forme d'une chaîne.

imageinfo

Voir la fonction getimagesize().

Valeurs de retour

Voir la fonction getimagesize().

Exemples

Exemple #1 Exemple avec getimagesizefromstring()

<?php
$img 
'/path/to/test.png';

// Ouverture via un fichier
$size_info1 getimagesize($img);

// Ouverture via une chaîne
$data       file_get_contents($img);
$size_info2 getimagesizefromstring($data);
?>

Voir aussi

add a note add a note

User Contributed Notes 3 notes

up
9
imageman
3 months ago
getimagesizefromstring function for < 5.4

<?php
  
if (!function_exists('getimagesizefromstring')) {
      function
getimagesizefromstring($string_data)
      {
        
$uri = 'data://application/octet-stream;base64,'  . base64_encode($string_data);
         return
getimagesize($uri);
      }
}
?>
up
2
sarah at anigel dot net
2 months ago
Just a quick comment on the solution by imageman for versions < 5.4 you will need to enable allow_url_fopen in order to use the data wrapper.
up
0
josh at karmabunny dot com dot au
6 months ago
If you need to get the type (but not the size) of an image contained within a string, you can make use of the signatures contained within the headers of various file formats.

<?php
function get_img_type($data) {
   
$magics = array(
       
'ffd8ff' => 'jpg',
       
'89504e470d0a1a0a' => 'png',
    );
       
    foreach (
$magics as $str => $ext) {
        if (
strtolower(bin2hex(substr($data, 0, strlen($str)/2))) == $str) return $ext;
    }
       
    return
NULL;
}
?>

If required, additional magic signatures can be added to the array, there is a page on Wikipedia with a good list:
http://en.wikipedia.org/wiki/List_of_file_signatures
To Top