php code method to realize the image rotation direction is: 1. Create a php sample file; 2. Through "public static function base64Rotate($image, $rotate = '90', $savePath = false){. ..}" method to set the base64 image rotation; 3. Set the local image rotation through the "imageRotate" method.
The operating environment of this tutorial: Windows 7 system, PHP version 8.1, Dell G3 computer.
What is the php image rotation direction code?
php realizes image rotation
Recently there is a requirement to rotate the image uploaded by the front end 90° counterclockwise. This mainly requires the use of php The imagerotate method rotates the image. The specific implementation method is as follows:
<?php namespace common\traits; use Yii; use yii\helpers\FileHelper; /** * 图片旋转处理trait * * @author wangjian * @since 1.0 */ class ImageRotate { /** * base64图片旋转 * @param $image 需要旋转的base64图片 * @param string $rotate 逆时针旋转角度 * @param false $savePath 保存的图片路径,false返回base64格式 */ public static function base64Rotate($image, $rotate = '90', $savePath = false) { if (empty($image)) { return false; } if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $image, $result)) { $type = $result[2]; //设置临时目录 $temporaryPath = '/tmp/'; $temporaryPath = dirname(Yii::getAlias('@common')) . '/web' . $temporaryPath; FileHelper::createDirectory($temporaryPath); //将原图保存到零食目录 $temporaryImage = date('YmdHis') . rand(1000, 9999) . '.' . $type; if (file_put_contents($temporaryPath . $temporaryImage, base64_decode(str_replace($result[1], '', $image)))) { $newImage = self::rotateImage($temporaryPath . $temporaryImage, $rotate); //旋转图片 //删除临时文件 @unlink($temporaryPath . $temporaryImage); ob_start(); if ($savePath === false) { //返回base imagepng($newImage); $imageString = $result[1] . base64_encode(ob_get_contents()); @unlink($newImage); } else { $imageString = imagepng($newImage, $savePath); } ob_end_clean(); return $imageString; } } return false; } /** * 本地图片旋转 * @param $image 需要旋转的本地图片 * @param string $rotate 逆时针旋转角度 * @param false $savePath 保存的图片路径,false返回替换原图 */ public static function imageRotate($image, $rotate = '90', $savePath = false) { if (empty($image)) { return false; } //旋转图片 $newImage = self::rotateImage($image, $rotate); ob_start(); if ($savePath === false) { //替换原图 $url = $image; } else { $url = $savePath; } $imageString = imagepng($newImage, $url); ob_end_clean(); return $imageString; } /** * @param $file 需要旋转的图片 * @param $rotate 逆时针旋转角度 */ private static function rotateImage($file, $rotate) { $imageSize = getimagesize($file); $imageSize = explode('/', $imageSize['mime']); $type = $imageSize[1]; switch ($type) { case "png": $image = imagecreatefrompng($file); break; case "jpeg": $image = imagecreatefromjpeg($file); break; case "jpg": $image = imagecreatefromjpeg($file); break; case "gif": $image = imagecreatefromgif($file); break; } $rotateImage = imagerotate($image, $rotate, 0); //逆时针旋转 //获取旋转后的宽高 $srcWidth = imagesx($rotateImage); $srcHeight = imagesy($rotateImage); //创建新图 $newImage = imagecreatetruecolor($srcWidth, $srcHeight); //分配颜色 + alpha,将颜色填充到新图上 $alpha = imagecolorallocatealpha($newImage, 0, 0, 0, 127); imagefill($newImage, 0, 0, $alpha); //将源图拷贝到新图上,并设置在保存 PNG 图像时保存完整的 alpha 通道信息 imagecopyresampled($newImage, $rotateImage, 0, 0, 0, 0, $srcWidth, $srcHeight, $srcWidth, $srcHeight); imagesavealpha($newImage, true); return $newImage; } }
Specific use:
1: Base64 image rotation and output base64
ImageRotate::base64Rotate('base64图片', '旋转角度');
2: Base64 image rotation and save
ImageRotate::base64Rotate('base64 image', 'rotation angle', 'save address');
3: Local image rotation
ImageRotate::imageRotate('本地图片地址', '旋转角度', '保存地址');
According to the above method we You can realize the image rotation function
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of What is the code for php image rotation direction?. For more information, please follow other related articles on the PHP Chinese website!

The article compares ACID and BASE database models, detailing their characteristics and appropriate use cases. ACID prioritizes data integrity and consistency, suitable for financial and e-commerce applications, while BASE focuses on availability and

The article discusses securing PHP file uploads to prevent vulnerabilities like code injection. It focuses on file type validation, secure storage, and error handling to enhance application security.

Article discusses best practices for PHP input validation to enhance security, focusing on techniques like using built-in functions, whitelist approach, and server-side validation.

The article discusses strategies for implementing API rate limiting in PHP, including algorithms like Token Bucket and Leaky Bucket, and using libraries like symfony/rate-limiter. It also covers monitoring, dynamically adjusting rate limits, and hand

The article discusses the benefits of using password_hash and password_verify in PHP for securing passwords. The main argument is that these functions enhance password protection through automatic salt generation, strong hashing algorithms, and secur

The article discusses OWASP Top 10 vulnerabilities in PHP and mitigation strategies. Key issues include injection, broken authentication, and XSS, with recommended tools for monitoring and securing PHP applications.

The article discusses strategies to prevent XSS attacks in PHP, focusing on input sanitization, output encoding, and using security-enhancing libraries and frameworks.

The article discusses the use of interfaces and abstract classes in PHP, focusing on when to use each. Interfaces define a contract without implementation, suitable for unrelated classes and multiple inheritance. Abstract classes provide common funct


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

Notepad++7.3.1
Easy-to-use and free code editor

WebStorm Mac version
Useful JavaScript development tools

Dreamweaver Mac version
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)