Working with images in php

View Discussion

Improve Article

Save Article

  • Read
  • Discuss
  • View Discussion

    Improve Article

    Save Article

    The imagecreate() function is an inbuilt function in PHP which is used to create a new image. This function returns the blank image of given size. In general imagecreatetruecolor() function is used instead of imagecreate() function because imagecreatetruecolor() function creates high quality images.

    Syntax:

    imagecreate( $width, $height )

    Parameters: This function accepts two parameters as mentioned above and described below:

    • $width: It is mandatory parameter which is used to specify the image width.
    • $height: It is mandatory parameter which is used to specify the image height.

    Return Value: This function returns an image resource identifier on success, FALSE on errors.

    Below programs illustrate the imagecreate() function in PHP:

    Program 1:

    $image = imagecreate(500, 300);

    $background_color = imagecolorallocate($image, 0, 153, 0);

    $text_color = imagecolorallocate($image, 255, 255, 255);

    imagestring($image, 5, 180, 100,  "GeeksforGeeks", $text_color);

    imagestring($image, 3, 160, 120,  "A computer science portal", $text_color);

    header("Content-Type: image/png");

    imagepng($image);

    imagedestroy($image);

    ?>

    Output:

    Working with images in php

    Program 2:

    $image = imagecreate(500, 300);

    $values = array(

                50,  50, 

                50, 250, 

                250, 50, 

                250,  250

            );

    $background_color = imagecolorallocate($image,  0, 153, 0);

    imagefill($image, 0, 0, $background_color);

    $image_color = imagecolorallocate($image, 255, 255, 255);

    imagepolygon($image, $values, 4, $image_color);

    header('Content-type: image/png');

    imagepng($image);

    ?>

    Output:

    Working with images in php

    Related Articles:

    • PHP | imagepolygon() Function
    • PHP | imagecolorat() function

    Reference: http://php.net/manual/en/function.imagecreate.php


    Contents Previous Next

    last modified July 6, 2020

    In this chapter of the PostgreSQL PHP tutorial, we will work with image files. Some people do not agree with putting images into databases. Here we only show how to do it. We do not dwell into technical issues of whether to save images in databases or not.

    testdb=> CREATE TABLE images(id INT PRIMARY KEY, data BYTEA);
    

    For this example, we create a new table called images. For the images, we use the BYTEA data type. It allows to store binary strings.

    Inserting images

    In the first example, we are going to insert an image into the PostgreSQL database.

    We read an image from the current working directory and write it into the images table of the PostgreSQL testdb database.

    $file_name = "woman.jpg";
    

    This is the name of the image file that we will insert into the database. The image is located in the current working directory.

    $img = fopen($file_name, 'r') or die("cannot read image\n");
    $data = fread($img, filesize($file_name));
    

    We read binary data from the filesystem.

    $es_data = pg_escape_bytea($data);
    

    Binary data might have characters that may cause problems when inserting them into a database table. The pg_escape_bytea() function escapes the string for insertion into a bytea field. Later, when reading binary data from the database, the data must be un-escaped.

    fclose($img);
    

    The handle pointing to the image file is closed.

    $query = "INSERT INTO images(id, data) Values(1, '$es_data')";
    pg_query($con, $query); 
    

    The image is inserted into the database.

    Reading images

    In this section, we are going to perform the reverse operation. We will read an image from the database table.

    We read image data from the images table and write it to another file, which we call woman2.jpg.

    $query = "SELECT data FROM images WHERE id=1";
    

    This line is a SQL SELECT statement to retrieve the image data from the table.

    $data = pg_fetch_result($res, 'data');
    

    We fetch the data from the data column of the images table.

    $unes_image = pg_unescape_bytea($data);
    

    When we inserted the image data into the database, we have escaped it. Now we have to un-escape it back to the original.

    $file_name = "woman2.jpg";
    $img = fopen($file_name, 'wb') or die("cannot open image\n");
    

    We open a file for writing. The new file name will be woman2.jpg.

    fwrite($img, $unes_image) or die("cannot write image data\n");
    

    The data is written to the filesystem.

    This part of the PostgreSQL PHP tutorial was dedicated to reading and writing images.

    Contents Previous Next

    How will you create a image in PHP?

    The imagecreate() function is an inbuilt function in PHP which is used to create a new image. This function returns the blank image of given size. In general imagecreatetruecolor() function is used instead of imagecreate() function because imagecreatetruecolor() function creates high quality images.

    Can we draw images using PHP library?

    The GD library is used for dynamic image creation. From PHP we use ​the GD library to create GIF, PNG or JPG images instantly from our code. This allows us to do things such as create charts on the fly, created an anti-robot security image, create thumbnail images, or even build images from other images.

    How can I view uploaded image in PHP?

    "upload/" . $_FILES["file"]["name"]. "
    "; $image=$_FILES["file"]["name"]; /* Displaying Image*/ $img="upload/".
    $image; echo '

    What are the features of image in PHP?

    GD and Image Functions ¶.
    gd_info — Retrieve information about the currently installed GD library..
    getimagesize — Get the size of an image..
    getimagesizefromstring — Get the size of an image from a string..
    image_type_to_extension — Get file extension for image type..