Current Location: Home> Latest Articles> How to flip an image horizontally in PHP?

How to flip an image horizontally in PHP?

gitbox 2025-05-21

In PHP, the imageflip function can be used to flip an image. This function can manipulate the image according to different flip directions, including horizontal flip and vertical flip. If you want to flip the image horizontally, imageflip is a very simple and practical tool.

In this article, we will introduce how to use PHP's imageflip function to achieve horizontal flip of images and give detailed example code.

1. Install PHP and enable the GD library

To use the imageflip function, you first need to make sure that your PHP environment has installed and enabled the GD graphics library. GD is a library for image processing, which contains many powerful image processing functions, including image creation, modification, conversion, etc.

You can check whether the GD library is enabled by:

 php -m | grep gd

If you don't see gd , you can install it by:

 sudo apt-get install php-gd

Then restart the Apache or PHP-FPM service:

 sudo service apache2 restart

2. Use imageflip to achieve horizontal image flip

The imageflip function has three flip options:

  • IMG_FLIP_HORIZONTAL : Horizontal flip

  • IMG_FLIP_VERTICAL : vertical flip

  • IMG_FLIP_BOTH : Perform horizontal and vertical flips simultaneously

In order to achieve horizontal flip of the image, we need to pass IMG_FLIP_HORIZONTAL as the parameter. Here is a simple example:

 <?php
// Loading the image
$imagePath = 'path_to_your_image.jpg';
$image = imagecreatefromjpeg($imagePath);

// Check whether the image is loading successfully
if (!$image) {
    die("无法Loading the image!");
}

// Perform horizontal flip
imageflip($image, IMG_FLIP_HORIZONTAL);

// Output image
header('Content-Type: image/jpeg');
imagejpeg($image);

// Free memory
imagedestroy($image);
?>

3. Code parsing

  1. Loading image : Load a JPEG image using the imagecreatefromjpeg function. You can also use other loading functions as needed, such as imagecreatefrommpng or imagecreatefromgif depending on the format of the image.

  2. Horizontal flip : Call the imageflip function and pass in the image resource and IMG_FLIP_HORIZONTAL parameter to achieve horizontal flip.

  3. Output image : Set the correct HTTP header to tell the browser that it is outputting an image, and use the imagejpeg function to output the flipped image to the browser.

  4. Free memory : Use the imagedestroy function to free image resources to avoid memory leakage.

4. Complete example: Save the flipped image

If you want to save the flipped image as a file instead of outputting it directly to the browser, you can save the image locally using the imagejpeg function:

 <?php
// Loading the image
$imagePath = 'path_to_your_image.jpg';
$image = imagecreatefromjpeg($imagePath);

// Check whether the image is loading successfully
if (!$image) {
    die("无法Loading the image!");
}

// Perform horizontal flip
imageflip($image, IMG_FLIP_HORIZONTAL);

// Save the flipped image
$savePath = 'path_to_save_flipped_image.jpg';
imagejpeg($image, $savePath);

// Free memory
imagedestroy($image);

echo "The image has been successfully flipped and saved!";
?>

In this example, the flipped image will be saved as path_to_save_flipped_image.jpg . You can modify the save path as needed.

5. Things to note

  • The imageflip function is only suitable for PHP environments that support GD libraries. If the GD library is not enabled on your server, you will not be able to use the function.

  • The imageflip function will directly modify the incoming image resources, so you need to be careful about processing the original files of the image to avoid data loss. You can copy the original image first and then perform operations.

6. Summary

Through PHP's imageflip function, we can easily achieve horizontal flipping of images. This task can be accomplished with just a few simple lines of code and can support multiple image formats. Whether it is used for image editing or generating special effects, imageflip is a very useful tool.