Development

Image sizes in Perl

If you need for figure out the size of an image, fetch Image::Size from CPAN , it’s just what you need. The module recognizes the most common image-formats such as JPG, GIF, PNG, PSD, TIFF and plenty more. The interface is simple and will get you what you need with no trouble at all.

 #!/usr/bin/perl -w use strict; use Image::Size;

# Just fetch the size 
my ($size_x, $size_y) = Image::Size::imgsize('test.jpg'); 
print "Image is: $size_y x $size_x (height x width)\n";

# HTML-friendly format 
my $size = Image::Size::html_imgsize('test.jpg'); 

exit();

Image sizes and PHP

If you have the GD extension available, you can do a few useful things. One of the simple things is getting an image size is a simple matter. You can either fetch the height and width in seperate variables – or even fetch the height and width in a string pre-formatted for use in an image tag.

Here’s the example in source:

$load\_ext = get\_loaded\_extensions();

if (!in\_array(gd, $load\_ext)) {
    echo "GD is NOT available";
    die();
}

$nikonFile   = './aarhus\_demo\_photo.jpg';
list($width, $height, $type, $img\_txt)  = getimagesize($nikonFile);

echo "The image is ".$width . " by ".$height."\\n";
echo "![]($nikonFile)\\n";

Reading Exif data with PHP

Within most photos from digital cameras besides the actual image, there’s a little ”information block” call EXIF data. If you have the correct PHP extension installed on your server – the one called ”exif” – it’s pretty easy to read the EXIF data and display them, as you like.

First, let’s check if the extension is available?

$load\_ext = get\_loaded\_extensions();
if (!in\_array(exif, $load\_ext)) {
echo "Exif is NOT available";
} else {
echo "Exif extension is available.";
};

Simple benchmarks in PHP

If you’re doing some basic profiling of your PHP scripts, the build-in microtime function can help you make some simple benchmarking fast. Here’s a rough example to show you how it could be used. The doSomething function is the function we want to benchmark.

$time = microtime();
$time = explode(' ', $time);
$time = $time\[1\] + $time\[0\];
$start = $time;

doSomething();

$time = microtime();
$time = explode(' ', $time);
$time = $time\[1\] + $time\[0\];
$finish = $time;
$total\_time = round(($finish - $start), 6);
if ($debug) print ("<p>Processing took approximately $total\_time seconds</p>");

Create a random password with PHP

Some websites require access control, and sometimes you may need to generate a password for a user. Here’s a simple function that can do just that.

The $base-variable contains the characters allowed in the password. The supplied string may be changed, but the selected charaters should exist on all keyboards (as far as I know). When calling the function, you can specify the lenght of the password you want. Simple, right?

function makePassword($desiredLenght = 8) {
    $password = '';
    $base = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';

    for($i=0;$i<$desiredLenght;$i++) {
        $password .= $base\[(rand(0, (strlen($base)-1)))\];
    }
    return $password;
}