By Sergey Skudaev
Here you will learn how to display image and how to create image thumbnail with PHP. The PHP source code for this tutorial you will download at the bottom of the page. You will find also PHP source code for creating thumbnail image. To use PHP image functions you have to uncomment extension line in PHP.INI file. Find PHP.INI file in "C:\PHP" directory and in "C:\WINNT\System32\" directory. Scroll down to Windows Extensions and delete ";" character in front of gd2.dll
;Windows Extensions ;Note that MySQL and ODBC support is now built in, so no dll is needed for it. ; ;extension=php_mbstring.dll ;extension=php_bz2.dll ;extension=php_cpdf.dll ;extension=php_crack.dll ;extension=php_curl.dll ;extension=php_db.dll ;extension=php_dba.dll ;extension=php_dbase.dll ;extension=php_dbx.dll ;extension=php_domxml.dll ;extension=php_exif.dll ;extension=php_fdf.dll ;extension=php_filepro.dll extension=php_gd2.dll ;extension=php_gettext.dll ;extension=php_hyperwave.dll
Open notepad or textpad and write a PHP code:
<?php $imagepath="phpimages/dog.jpg"; $image=imagecreatefromjpeg( $imagepath); header('Content-Type: image/jpeg'); imagejpeg($image); ?>
Save the file as image.php in "htdocs/dspimage" directory. Create "phpimages" directory inside dspimage directory and place inside an image. In my example image file name is "dog.jpg". If your image file name is different, then change the image file name in php code. Image file must have jpg extension. Of course, it is possible to display gif or png images, but for now use jpg image for simplicity sake.
Start Apache and your browser and type in the URL: http://localhost/dspimage/image.php.
Image will be displayed. It is easy to understand the code.
1. You get path to the image file
2. You create image using function imagecreatefromjpeg (for jpg image file) If you has gif image then you have to use imagecreatefromgif function.
3. You have to set mime type in header so that your browser knew what kind of data will sent to it.
4. You display image in browser with imagejpeg function.
Actually, imagejpeg function has two more arguments. It can output image in file for example:
imagejpeg($image, "newfile.jpg", 50);
The third argument is image quality. If you enter a file name then jpg file will be created, but browser will not display the image.
You can display caption on the image. Add few lines of code. Get image height, allocate color, display caption text with font 5 and color white, 100 pixels from the left and 50 from the bottom.
<?php $imagepath="phpimages/dog.jpg"; $image=imagecreatefromjpeg($imagepath); // get image height $imgheight=imagesy($image); //allocate color for image caption (white) $color=imagecolorallocate($image, 255, 255, 255); //Add text to image bottom imagestring($image, 5, 100, $imgheight-50, "September 2005", $color); header('Content-Type: image/jpeg'); imagejpeg($image); ?>
Problem with this code is that you cannot display any text on the page, because you set mime type for image/jpeg. If you want to display the image on the page with text use image.php file as source for the img src tag.