PHP 5.6.0 released

Imagick::pingImage

(PECL imagick 2.0.0)

Imagick::pingImageLit des attributs simples sans ouvrir une image

Description

bool Imagick::pingImage ( string $filename )

Cette méthode peut être utilisée pour obtenir les dimensions de l'image sans lire toute l'image en mémoire.

Liste de paramètres

filename

Le nom du fichier qui contient l'image.

Valeurs de retour

Returns TRUE on success.

add a note add a note

User Contributed Notes 3 notes

up
0
hello at digitalnature dot eu
1 year ago
Just a warning: don't use Eero Niemi's code (identifyImage with pingImage) if you just want to get the image width and height, because it will actually be slower than reading the whole image into memory - about 10x slower!

Correct code should be:

<?php

  $image
= new Imagick();
 
$image->pingImage($file);
 
$width = $image->getImageWidth();
 
$height = $image->getImageHeight();

?>

(this is around 15 times faster than reading the image in memory)
up
0
Sergey
1 year ago
If you don't sure whether the file exists or not or maybe it's broken, then you should use try - catch construction. It prevents code fails, when code stops execution after call of pingImage (if the file doesn't exist or it's broken).

<?php
$im
= new Imagick();
try {
   
$im->pingImage('3.jpg');
}
catch(
ImagickException $e) {
    echo
"image doesn't exist";
}
?>
up
0
Eero Niemi (eero at eero dot info)
6 years ago
Actually the previous example causes file to be loaded twice on Imagick's stack, proper way to do this is:

<?php

$file
= 'foo.jpg';
$image = new Imagick();
$image->pingImage($file);
$image_info = $image->identifyImage();

?>
To Top