I use ImageMagick which is available for Linux and the BSD's (as well as other OS's I am sure).
I'm sure you could some tricks with the PHP and GD library, but ImageMagick is awesome when it comes to resizing AND converting images between formats.
You can have a person upload a .BMP file and have it resized and converted to a JPG (or TIFF -> JPG, or JPG -> GIF, or GIF -> JPG, or ... well, you get the point!!)
To use it within PHP, just exec() it.
ImageMagick is comprised of several programs (convert, mogrify, etc.) ... I usually just use convert.
ImageMagick homepage:
http://www.imagemagick.org/
Article on using ImageMagick with PHP:
http://www.theukwebdesigncompany.com/articles/php-imagemagick.php
(that was just the first one that popped up when I googled for "ImageMagick PHP")