Current Location: Home> Latest Articles> PHP Batch Rename and Format Conversion: Easily Handle Image Processing

PHP Batch Rename and Format Conversion: Easily Handle Image Processing

M66 2025-06-19

PHP Image Operations: How to Batch Rename and Convert Image Formats

In web development, image processing is a common requirement. PHP, as a powerful server-side scripting language, provides many image processing functions and extensions, making it easy for us to perform image operations. This article will introduce how to use PHP for batch renaming and converting image formats, along with code examples.

Batch Renaming Images

When dealing with images, we may need to batch rename a series of image files according to specific naming rules. Below is a sample code that demonstrates how to use PHP to batch rename images in a specified folder:

$folder = "path/to/images/"; // Path to the image folder
$prefix = "image_"; // Prefix for renaming
$counter = 1; // Counter

// Iterate through the image folder
if ($handle = opendir($folder)) {
    while (($file = readdir($handle)) !== false) {
        if (in_array($file, array('.', '..'))) continue;

        $newName = $prefix . $counter . '.' . pathinfo($file, PATHINFO_EXTENSION);
        $oldPath = $folder . $file;
        $newPath = $folder . $newName;

        // Rename the image
        if (rename($oldPath, $newPath)) {
            echo "File $file renamed successfully to $newName <br>";
            $counter++;
        } else {
            echo "File $file renaming failed <br>";
        }
    }
    closedir($handle);
}
    

In the above code, the image folder path and the prefix for renaming are first specified. The readdir() function is used to iterate through the files in the folder, and the pathinfo() function is used to get the file extension. Finally, the rename() function is used to rename the files, changing their names to the new names.

Batch Convert Image Formats

Sometimes, we may need to convert a batch of image files to different formats, for example, converting JPG images to PNG format. PHP's GD library provides a rich set of image processing functions, enabling us to perform format conversion. Below is a sample code that demonstrates how to use PHP to convert all JPG images in a specified folder to PNG format:

$folder = "path/to/images/"; // Path to the image folder

// Iterate through the image folder
if ($handle = opendir($folder)) {
    while (($file = readdir($handle)) !== false) {
        if (in_array($file, array('.', '..'))) continue;

        $oldPath = $folder . $file;
        $newPath = $folder . pathinfo($file, PATHINFO_FILENAME) . ".png";

        // Open the original image
        $image = imagecreatefromjpeg($oldPath);

        // Convert and save as PNG format
        imagepng($image, $newPath);
        imagedestroy($image);

        echo "File $file converted successfully to PNG format <br>";
    }
    closedir($handle);
}
    

In the above code, the image folder path is first specified. The readdir() function is used to iterate through the files in the folder, and the pathinfo() function is used to get the file name. The imagecreatefromjpeg() function is then used to open the original image, and the imagepng() function converts it to PNG format and saves it at the new path. Finally, the imagedestroy() function releases the resources.

Conclusion

Through the above examples, we demonstrated how to use PHP for batch renaming and image format conversion. PHP’s image processing capabilities are powerful, and developers can flexibly use these functions to handle images efficiently in real-world web development projects.